这是我参与「第五届青训营 」伴学笔记创作活动的第 3 天
本次学习了一些代码规范和注释相关的内容
go语言中if和else的嵌套结构很关键
下面我写一个比大小的小案例
a, b, c := 40, 50, 30
if a > b {
if a > c {
fmt.Println("a最大")//a大于b这时判断a是否大于c如果是则a最大
}
} else {//否则 a<=b
if b > c {
fmt.Println("b最大")//a小于b这时判断b是否大于c如果是则b最大
} else {
fmt.Println("c最大")//否则c最大
}
}
下面我再介绍一些函数在go语言中switch语句不需要break来终止当前的switch语句,而在c语言中,如不使用break结束语句 则会继续执行下一个case在,如想要达到c语言相同的效果 则需要fallthrough来穿过case语句
e := 100
switch e {
case 100:
fmt.Println("满")
fallthrough
case 90, 99, 70:
fmt.Println("分")
default:
fmt.Println("woo!")
}
在go语言中case语句后可以跟上bool表达式比如:
e := 100
switch {
case e == 100:
fmt.Println("满分")
case e > 90 && e <= 100:
fmt.Println("a")
case e > 60 && e <= 90:
fmt.Println("b")
default:
fmt.Println("c")
}
break语句用于退出for循环,sswitch语句,select语句,continue与break类似但只是退出本次循环
for i := 0; i < 10; i++ {
if i%2 == 0 {
continue
}
fmt.Printf("i: %v\n", i)
}
这一函数可以筛选出从一到十的所有奇数
range函数可以实现遍历其返回值有索引和数值搭配for循环可以实现各种数据结构的遍历
var a = [...]int{1, 2, 3, 4, 5, 6}
for s, v := range a {
fmt.Printf("s: %v\n", s)
fmt.Printf("v: %v\n", v)
}
图这一数据结构创建时需要make函数来帮助创建其有两个参数一个是数据类型,一个是长度
s := make(map[string]string, 0)
s["name"] = "tom"
s["gender"] = "male"
s["age"] = "88"
for l, v := range s {
fmt.Printf("标签: %v 数据:%v\n", l, v)
}