> go语言的流程控制语句主要讲if、for。
[TOC]
## if语句
### if语句
~~~
package main
import "fmt"
// 入口函数main
func main() {
// 给变量i赋值
i := 101
if i > 100 {
fmt.Println("i大于100")
}
// 以上语句可以简写成一行
if j := 101; j > 100 {
fmt.Println("j大于100")
}
}
~~~
### if...else 语句
~~~
package main
import "fmt"
// 入口函数main
func main() {
if i := 201; i > 200 {
fmt.Println("大于200")
} else if i > 100 {
fmt.Println("大于100")
} else {
fmt.Println("其他")
}
}
~~~
## for循环语句
> Go语言的for语句,非常灵活,可以表达其他语言的for、while循环语句。
~~~
package main
import (
"fmt"
"strconv"
"time"
)
// 入口函数main
func main() {
// 11111: 常规for循环
sum := 0
for i := 0; i < 10; i++ {
sum += i
}
fmt.Println(sum)
// 22222: 用for 替代while(i) 语句,如果sum < 1000 则执行循环
sum2 := 1
for sum2 < 1000 {
sum2 += sum2
}
fmt.Println(sum2)
// 33333: 无限循环
couter := 0
for {
if couter > 10 {
break
}
fmt.Println("hello " + strconv.FormatInt(int64(couter), 10))
time.Sleep(time.Second)
couter++
}
// 444444: 遍历数组或切片
//arr := []int{1, 2, 3}
arr := [3]int{1, 2, 3}
for index2, value2 := range arr {
fmt.Printf("%v=>%v\n", index2, value2)
}
}
~~~
- 基础知识
- 开发环境
- 包名规则
- 包初始化 (init)
- 基础数据类型
- 基础类型转换
- 格式化输出
- go指针
- 流程控制语句
- 函数定义
- 匿名函数
- 数组和切片
- map集合
- 结构体
- Interface接口
- 日期处理
- 数学计算
- 正则表达式
- 协程 (并发处理)
- channel
- waitgroup
- mutex (锁机制)
- websocket
- protobuf
- Redis
- 错误处理
- 打包程序
- NSQ消息队列
- 单元测试
- beego
- 安装入门
- Gin
- 快速入门
- 路由与控制器
- 处理请求参数
- 表单验证
- 处理响应结果
- 渲染HTML模版
- 访问静态文件
- Gin中间件
- Cookie处理
- Session处理
- Gin上传文件
- swagger
- pprof性能测试
- GORM
- 入门教程
- 模型定义
- 数据库连接
- 插入数据
- 查询数据
- 更新数据
- 删除数据
- 事务处理
- 关联查询
- 属于 (BELONG TO)
- 一对一 (Has One)
- 一对多 (Has Many)
- 多对多 (Many to Many)
- 预加载 (Preloading)
- 错误处理
- 第三方常用插件
- viper 读取配置文件
- zap 高性能日志
- Nginx代理配置
- Goland 快捷键