目录1、if...else判断语法2、if嵌套语法3、switch语句4、类型switch语句5、fallthrough关键字使用小结1、if...else判断语法 语法的使用和其他
语法的使用和其他语言没啥区别。
样例代码如下:
// 判断语句
func panduan(a int) {
if a > 50 {
fmt.Println("a > 50")
} else if a < 30 {
fmt.Println("a < 30")
} else {
fmt.Println("a <= 50 and a >= 30")
}
}
func main() {
panduan(120)
}
执行结果
a > 50
样例代码如下
//嵌套判断
func qiantao(b, c uint) {
if b >= 100 {
b -= 20
if c > b {
fmt.Println("c OK")
} else {
fmt.Println("b OK")
}
}
}
执行结果
c OK
两种写法,不需要加break。
样例代码如下
//switch使用
func test_switch() {
var a uint = 90
var result string
switch a {
case 90:
result = "A"
case 80, 70, 60:
result = "B"
default:
result = "C"
}
fmt.Printf("result: %v\n", result)
switch {
case a > 90:
result = "A"
case a <= 90 && a >= 80:
result = "B"
default:
result = "C"
}
fmt.Printf("result: %v\n", result)
}
执行结果
result: A
result: B
注意
1、可是在switch后面加变量,后面的case主要做匹配判断。也可以直接使用switch{},case直接对关系运算结果做匹配。
2、 case中可以选择匹配多项。
switch语句可以使用type-switch进行类型判断,感觉很实用的语法。
样例代码如下
//测试类型switch
func test_type_switch() {
var x interface{}
x = 1.0
switch i := x.(type) {
case nil:
fmt.Printf("x type = %T\n", i)
case bool, string:
fmt.Printf("x type = bool or string\n")
case int:
fmt.Printf("x type = int\n")
case float64:
fmt.Printf("x type = float64\n")
default:
fmt.Printf("未知\n")
}
}
执行结果
x type = float64
注意
1、interface{}可以表示任何类型。
2、语法格式变量.(type)
使用fallthrough关键字会强制执行后面的case语句内容,不管时候触发该case条件。
样例代码如下
// 测试fallthrough
func test_fallthrough() {
a := 1
switch {
case a < 0:
fmt.Println("1")
fallthrough
case a > 0:
fmt.Println("2")
fallthrough
case a < 0:
fmt.Println("3")
fallthrough
case a < 0:
fmt.Println("4")
case a > 0:
fmt.Println("5")
fallthrough
case a < 0:
fmt.Println("6")
fallthrough
default:
fmt.Println("7")
}
}
执行结果
2
3
4
注意
1、如果一旦在往下执行case内容中不存在fallthrough,则会停止继续往下执行case内容。
我看到还有个select语句,需要和chan关键字进行配合使用,没不了解,后面先研究一下chan关键字。
到此这篇关于Go语言学习之条件语句使用详解的文章就介绍到这了,更多相关Go条件语句内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: Go语言学习之条件语句使用详解
本文链接: https://lsjlt.com/news/145984.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-04-05
2024-04-05
2024-04-05
2024-04-04
2024-04-05
2024-04-05
2024-04-05
2024-04-05
2024-04-04
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0