> 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 快捷鍵