1 Star 0 Fork 0

xzplink / Go-Training

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
index.md 1.23 KB
一键复制 编辑 原始数据 按行查看 历史
yanfeizhang 提交于 2022-08-04 16:08 . fix:更新for循环使用方法

和c语言相比,golang对流程控制语句进行了一些精简,比如省去了c里面的括号。对于if/for都是。

if/else

基本格式如下:

if condition {
    分支1
} else if condition {
    分支2
} else {
    分支3
}

for循环

for 初始语句;条件表达式;结束语句 {
    循环体语句
}

条件循环

for i := 0; i < 10; i++ {
	fmt.Println(i)
}

while循环

注意,golang没有提供while循环,都统一使用for的

for != nil {
    ...
}

无限循环

不加任何东西就是无限循环

for {
    ...
}

for/range

在golang中,对于数组、切片、map以及channel等数据结构,用for/range遍历起来会更方便

//遍历切片
s := []int{1, 2, 3, 4, 5}
for k, v := range s {
    fmt.Println(k, v)
}

//遍历map
m := make(map[string]int)
m["key1"] = 1
m["key2"] = 2
m["key3"] = 3
for k, v := range m {
    fmt.Println(k, v)
}

switch分支

需要特别说一下的是,和c里的switch不同,Go 语言中不需要特别使用 break 语句来表示分支结束。

n := 2
switch n {
case 1:
    fmt.Println("case 1 hit!")
case 2:
    fmt.Println("case 2 hit!")
default:
    fmt.Println("no case hit!")
}
Go
1
https://gitee.com/xzplink/go-training.git
git@gitee.com:xzplink/go-training.git
xzplink
go-training
Go-Training
main

搜索帮助