[TOC]
## math包運算
> 僅列出常用的函數,如果要查詢更多函數,可參考 https://mp.weixin.qq.com/s/d1D1VUbTjYnPS6cJj3K-Cw
~~~
fmt.Println(math.IsNaN(3.4)) //判斷是否為非數字___結果:false
fmt.Println(math.Ceil(1.000001)) //向上舍入為最接近的整數___結果:2
fmt.Println(math.Floor(1.999999)) //向下舍入為最接近的整數___結果:1
fmt.Println(math.Trunc(1.999999)) //只返回整數部分___結果:1
fmt.Println(math.Abs(-1.3)) //取絕對值___結果:1.3
fmt.Println(math.Max(-1.3, 0)) //獲取兩數之間的最大值___結果:0
fmt.Println(math.Min(-1.3, 0)) //獲取兩數之間的最小值___結果:-1.3
~~~
## rand包
### rand.Seed(time.Now().UnixNano())作用
> 設置隨機數種子后,才能保證程序每次運行的隨機數都是動態的
### 兩數之間隨機
~~~
rand.Seed(time.Now().UnixNano())
min, max := -60, 60
// Intn(n)、Int31n(n)、Int63n(n) 返回[0,n]之間的隨機數
fmt.Println(rand.Intn(max-min) + min)
~~~
> 運行結果 -32
- 基礎知識
- 開發環境
- 包名規則
- 包初始化 (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 快捷鍵