GO Tuyên bố chuyển đổi
Tuyên bố chuyển đổi
Sử dụng câu lệnh switch
để chọn một trong nhiều khối mã sẽ được thực thi.
Tuyên bố switch
trong GO tương tự như các câu trong C, C ++, Java, JavaScript và PHP. Sự khác biệt là nó chỉ chạy trường hợp phù hợp để nó không cần một câu lệnh break
.
Cú pháp chuyển đổi trường hợp đơn
Cú pháp
Biểu thức chuyển đổi {case x: & nbsp; & nbsp; // CODE BLOCK CASE Y: & nbsp; & nbsp; // CODE BLOCK CASE Z: ... Mặc định: & nbsp; & nbsp; // BLOCK CODE}
case x:
// code block
case y:
// code block
case z:
...
default:
// code block
}
Đây là cách nó hoạt động:
- Biểu thức được đánh giá một lần
- Giá trị của biểu thức
switch
được so sánh với các giá trị của mỗicase
- Nếu có một trận đấu, khối mã được liên kết được thực thi
- Từ khóa
0 là tùy chọn. Nó chỉ định một số mã để chạy nếu không códef week[i]: switcher={ 0:'Sunday', 1:'Monday', 2:'Tuesday', 3:'Wednesday', 4:'Thursday', 5:'Friday', 6:'Saturday' } return switcher.get[i,"Invalid day of week"]
case
khớp
Ví dụ chuyển đổi trường hợp một trường hợp
Ví dụ dưới đây sử dụng số ngày trong tuần để tính tên ngày trong tuần:
Thí dụ
Gói nhập chính ["FMT"]
import ["fmt"]
func main [] {& nbsp; & nbsp; ngày: = 4
day := 4
& nbsp; Thứ ba "] & nbsp; & nbsp; trường hợp 3: & nbsp; & nbsp; ; & nbsp; trường hợp 5: & nbsp; & nbsp; & nbsp; 7: & nbsp; & nbsp; & nbsp; & nbsp; fmt.println ["Chủ nhật"] & nbsp; & nbsp;}}
case 1:
fmt.Println["Monday"]
case 2:
fmt.Println["Tuesday"]
case 3:
fmt.Println["Wednesday"]
case 4:
fmt.Println["Thursday"]
case 5:
fmt.Println["Friday"]
case 6:
fmt.Println["Saturday"]
case 7:
fmt.Println["Sunday"]
}
}
Result:
def week[i]:
switcher={
0:'Sunday',
1:'Monday',
2:'Tuesday',
3:'Wednesday',
4:'Thursday',
5:'Friday',
6:'Saturday'
}
return switcher.get[i,"Invalid day of week"]
2Hãy tự mình thử »
Từ khóa mặc định
Từ khóa
def week[i]:
switcher={
0:'Sunday',
1:'Monday',
2:'Tuesday',
3:'Wednesday',
4:'Thursday',
5:'Friday',
6:'Saturday'
}
return switcher.get[i,"Invalid day of week"]
0 Chỉ định một số mã để chạy nếu không có trường hợp nào khớp:Thí dụ
Gói nhập chính ["FMT"]
import ["fmt"]
func main [] {& nbsp; & nbsp; ngày: = 4
day := 8
& nbsp; Thứ ba "] & nbsp; & nbsp; trường hợp 3: & nbsp; & nbsp; ; & nbsp; trường hợp 5: & nbsp; & nbsp; & nbsp; 7: & nbsp; & nbsp; & nbsp; & nbsp; fmt.println ["Chủ nhật"] & nbsp; & nbsp;}}
case 1:
fmt.Println["Monday"]
case 2:
fmt.Println["Tuesday"]
case 3:
fmt.Println["Wednesday"]
case 4:
fmt.Println["Thursday"]
case 5:
fmt.Println["Friday"]
case 6:
fmt.Println["Saturday"]
case 7:
fmt.Println["Sunday"]
default:
fmt.Println["Not a weekday"]
}
}
Result:
def week[i]:
switcher={
0:'Sunday',
1:'Monday',
2:'Tuesday',
3:'Wednesday',
4:'Thursday',
5:'Friday',
6:'Saturday'
}
return switcher.get[i,"Invalid day of week"]
4Hãy tự mình thử »
Từ khóa mặc định
Thí dụ
Gói nhập chính ["FMT"]
import ["fmt"]
func main [] {& nbsp; & nbsp; ngày: = 4
a := 3
& nbsp; Thứ ba "] & nbsp; & nbsp; trường hợp 3: & nbsp; & nbsp; ; & nbsp; trường hợp 5: & nbsp; & nbsp; & nbsp; 7: & nbsp; & nbsp; & nbsp; & nbsp; fmt.println ["Chủ nhật"] & nbsp; & nbsp;}}
case 1:
fmt.Println["a is one"]
case "b":
fmt.Println["a
is b"]
}
}
Result:
def week[i]:
switcher={
0:'Sunday',
1:'Monday',
2:'Tuesday',
3:'Wednesday',
4:'Thursday',
5:'Friday',
6:'Saturday'
}
return switcher.get[i,"Invalid day of week"]
7Hãy tự mình thử »
Từ khóa mặc định
GO Tuyên bố chuyển đổi nhiều trường hợp
Câu lệnh chuyển đổi đa trường hợp
Có thể có nhiều giá trị cho mỗi case
trong câu lệnh switch
.
Câu lệnh chuyển đổi đa trường hợp
Cú pháp
Biểu thức chuyển đổi {case x, y: & nbsp; & nbsp; // khối mã nếu biểu thức được đánh giá thành X hoặc Y Case V, W: & nbsp; & nbsp; // Khối mã nếu biểu thức được đánh giá thành V hoặc W Case Z: ... Mặc định: & nbsp; & nbsp; // khối mã nếu không tìm thấy biểu thức trong mọi trường hợp}
case x,y:
// code block if expression is evaluated to x or y
case v,w:
// code block if expression is evaluated to v or w
case z:
...
default:
// code block if expression is not found in any cases
}
Ví dụ dưới đây sử dụng số ngày trong tuần để trả về tên ngày trong tuần:
Thí dụ
Gói nhập chính ["FMT"]
import ["fmt"]
func main [] {& nbsp; & nbsp; ngày: = 5
day := 5
& nbsp; & nbsp; chuyển đổi ngày {& nbsp; & nbsp; trường hợp 1,3,5: & nbsp; & nbsp; & nbsp; & nbsp; fmt.println ["Ngày lễ lẻ"] & nbsp; & nbsp; trường hợp 2,4: & nbsp; & nbsp; & nbsp; & nbsp; fmt.println ["chẵn trong tuần"] & nbsp; & nbsp; trường hợp 6,7: & nbsp; & nbsp; & nbsp; & nbsp; fmt.println ["cuối tuần"] & nbsp; & nbsp; mặc định: & nbsp; & nbsp; }}
case 1,3,5:
fmt.Println["Odd weekday"]
case 2,4:
fmt.Println["Even weekday"]
case 6,7:
fmt.Println["Weekend"]
default:
fmt.Println["Invalid day of day number"]
}
}
Result:
>>> week[2]
'Tuesday'
>>> week[0]
'Sunday'
>>> week[7]
'Invalid day of week'
>>> week[4.5]
'Invalid day of week'
0Hãy tự mình thử »
Đã đăng vào Mar 22nd, 2019 8:46 a.m. 1 phút đọc 1 phút đọc Khi mình tìm hiểu python ta đã thấy một điều quái lạ là vì sao python không định nghĩa các function switch case cho dev? Mình đã băn khoăn điều đó và tìm hiểu vì sao và làm sao để sử dung switch case như các ngôn ngữ khác c++, ruby, ++. Python không có cấu trúc switch case đơn giản. Nếu bạn đến từ nền tảng của c++, java, ruby,.. thì bạn sẽ thấy điều này có vẻ hơi kỳ quặc. Nếu như ở trong c++ hoặc java sẽ có cấu trúc kiểu kiểu dạng này : Nhưng python không như trên. Vậy để có thể được như trên Python cần sử dụng cấu trúc dict để thực hiện khi gặp trường hợp cần thiết. Ngoài việc dùng các cấu trúc sẵn có if-else-other. Thay vào đó chúng ta sử dụng một dict để ánh xạ đến các case, các chức năng. Ở đây mình tạo một function là week để gọi tới các ngày trong tuần đó. Và nó sẽ được thực hiện như sau: Và bây giờ chúng ta có thể hiểu function week như một switch case trong Python. Và nó được gọi như sau để thực hiện. Chúng ta cũng có thể sử dụng function và lambdas trong dict. Sử dụng class chó phép chúng ta chọn method ở thời điểm runtime. //data-flair.training/blogs/python-switch-case/ All rights reserved 1 Giới thiệu.
2. Python Switch Case Statemen
string week[int i]{
switch[i]{
case 0:
return “Sunday”
break;
case 1:
return “Monday”
break;
case 2:
return “Tuesday”
break;
case 3:
return “Wednesday”
break;
case 4:
return “Thursday”
break;
case 5:
return “Friday”
break;
case 6:
return “Saturday”
break;
default:
return “Invalid day of week”
3. Phương pháp tạo Switch Case Statement trong Python
def week[i]:
switcher={
0:'Sunday',
1:'Monday',
2:'Tuesday',
3:'Wednesday',
4:'Thursday',
5:'Friday',
6:'Saturday'
}
return switcher.get[i,"Invalid day of week"]
>>> week[2]
'Tuesday'
>>> week[0]
'Sunday'
>>> week[7]
'Invalid day of week'
>>> week[4.5]
'Invalid day of week'
a. Sử dụng Python Functions & Lambdas
>>> def zero[]:
return 'zero'
>>> def one[]:
return 'one'
>>> def indirect[i]:
switcher={
0:zero,
1:one,
2:lambda:'two'
}
func=switcher.get[i,lambda :’Invalid’]
return func[]
>>> indirect[4]
‘Invalid’
>>> indirect[2]
'two'
>>> indirect[1]
'one'
>>> indirect[0.5]
'Invalid'
b. Thông qua Classes
>>> class Switcher[object]:
def indirect[self,i]:
method_name='number_'+str[i]
method=getattr[self,method_name,lambda :'Invalid']
return method[]
def number_0[self]:
return 'zero'
def number_1[self]:
return 'one'
def number_2[self]:
return 'two'
>>> s=Switcher[]
>>> s.indirect[2]
'two'
>>> s.indirect[4]
'Invalid'
>>> s.number_1[]
'one'
Tham khảo.