go学习笔记
基础
go 定义变量的几种方式
常量的声明
go基本数据类型
go语言中的流程控制
golang中的数组
切片
golang中的map 详解
golang 函数详解
内置函数 panic/recover
golang time包 以及日志函数
golang中的指针
golang 中的结构体
Golang 结构体 和 json互相转换 序列化 反序列化
Golang 中的 go mod 以及 Golang包 详解
golang 中的接口
golang goroutine channel 实现并发 和 并行
channel
goroutine 互斥锁 读写互斥锁
golang 反射
golang 标准库
io
strconv
工具 + blog
进程 线程 协程
空接口 类型断言
为Go项目编写Makefile
减小 Go 代码编译后的二进制体积
go windows下编译linux可执行文件
本文档使用 MrDoc 发布
-
+
首页
go语言中的流程控制
## if else ``` if 表达式1 { 分支1 }else if 表达式2 { 分支2 }else{ 分支3 } ``` 实例 ``` func main() { if age := 20; age < 20 { fmt.Println("age 小于20") } else if age > 20 { fmt.Println("age 大于20") } else { fmt.Println("age = 20") } } ``` ## for ``` for 初始语句;条件表达式;结束语句{ 循环体语句 } ``` 实例 ``` func main() { var a []int = []int{1, 2, 3, 4, 5, 6, 7} for i := 0; i < len(a); i++ { fmt.Println(a[i]) } } ``` 无线循环 ``` for { 循环体 } // 使用break 跳出循环 ``` ## for range for range 主要循环遍历 数组 切片 map 字符串 通道 channel * 数组,切片,字符串返回索引和值 * map返回键和值 * 通道 channel 只返回通道内的值 ``` func main() { var str string = "上海市涛涛涛涛 " for _, v := range str { s := fmt.Sprintf("%c", v) fmt.Printf("v: %v\n", s) } } ``` ## switch case fallthrough 语法可以执行满足条件的 case 的下一个 case,是为了兼容 C 语言中的case设计的 ```go switch var1 { case val1: ... case val2: ... default: ... } ``` ![](/media/202302/2023-02-16_123557_6967130.03957929137355409.png) ## continue break goto break 跳出当前循环 continue 语句可以结束当前循环,开始下一次的循环迭代过程,仅限在for循环中使用 goto 语句通过标签进行代码间的无条件转换。goto 语句可以在快速跳出循环,避免重复退出 ``` func main() { var a int = 40 for a > 30 { fmt.Println("aaaa") goto lable } fmt.Println("11111") fmt.Println("22222") lable: fmt.Println("33333") fmt.Println("44444") /* aaaa 33333 44444 */ } ```
admin
2023年3月8日 19:25
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码