Golang学习笔记5:Golang流程控制
if(在Golang里面if条件没有括号)
if x > 100{
fmt.Printf("一百")
}else if x > 10{
fmt.Printf("九十")
}else{
fmt.Printf("小于九十")
}
for
package main
import "fmt"
func main() {
// var x int
// sum := 0
// for x = 1;x <=100; x ++ {
// sum += x
sum := 0
x := 1
for x <= 100 {
sum += x
x ++
}
// }
fmt.Print(sum)
}
输出结果
5050
进程 已完成,退出代码为 0
switch
switch sExpr
{
case expr1:
some instructions //后面没有break!
case expr2:
some other instructions
case expr3:
some other instructions
default:
other code
}
每一条case语句默认带了break,没有C语言的穿透性
package main
import "fmt"
func main() {
x := 2
switch x {
case 1:
fmt.Print("yesai 1") //后面没有break
case 2:
fallthrough //如果想继续后面的case,即具有穿透性,可以使用fallthrough
case 3:
fmt.Print("yesai 3")
default:
fmt.Print("yesai 4")
}
}
结果输出:
yesai 3
进程 已完成,退出代码为 0
range
Go语言的关键字range,用于便捷地遍历容器中的元素。(相当于foreach)
package main
import "fmt"
func main() {
x := [5]int{1,2,3,4,5} //简短声明,遍历数组,range结合for循环用
y := make(map[string]int)
y["zhangsan"] = 78
y["lisi"] = 90
y["wangwu"] = 100
for i , v := range x{ // i相当于key , v相当于value
fmt.Println(i,v) //Println 换行
}
for i , v := range y {
fmt.Println(i,v)
}
for _, v := range y{ //用_ 占位符不显示key
fmt.Println(v)
}
}
输出结果:
0 1
1 2
2 3
3 4
4 5
zhangsan 78
lisi 90
wangwu 100
78
90
100
进程 已完成,退出代码为 0
参考如下:
package main
import "fmt"
func main(){
x := "zhangsan"
for _ , v := range x{
fmt.Printf("%c\n", v) //以字符串的形式输出
}
}
输出结果:
z
h
a
n
g
s
a
n
进程 已完成,退出代码为 0
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 赛 の 任意门!
评论
ValineGitalk