[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 快捷键