go
导入包
| |
import: 导入包"encoding/json": 导入 json 包"fmt": 导入 fmt 包"os": 导入 os 包"time": 导入 time 包dbmodels: 导入 dbmodels 包, dbmodels 为自定义包名或者别名
在调用包调用时,需要使用别名来调用包中的函数、变量、类型等。
go 生成 exe
| |
go build: 编译程序-o: 设置输出文件名HIK_SYNC.exe: 输出文件名-ldflags: 设置编译参数-w: 去掉调试信息-s: 去掉符号表-X: 设置变量的值upx: 压缩 exe 文件-9: 最大压缩级别 1-9, 1 为最佳压缩级别 9 为最佳压缩
GO 内存逃逸
| |
-gcflags: 设置编译参数-m: 打印内存分配信息-l: 打印逃逸信息main.go: 源文件
gorm
安装 gorm 包
| |
gorm.io/gorm: gorm 库gorm.io/driver/sqlite: sqlite 驱动-u: 更新依赖
数据库配置
数据库连接配置:
user:password@tcp/dbname?charset=utf8mb4,utf8&parseTime=true&loc=Local
user: 数据库用户名password: 数据库密码@tcp: 使用 tcp 协议连接数据库dbname: 数据库名称charset: 指定字符集为 utf8mb4,utf8parseTime: 将时间类型解析为时间类型,而不是时间戳类型loc: 指定时区为本地时区
单元测试
使用包testing包来编写单元测试。
| |
测试文件名以_test.go结尾,和源文件放在同一目录下。
测试类型包括如下:
func TestXXX(t *testing.T): 测试函数,参数为*testing.T类型,表示测试对象func BenchmarkXXX(b *testing.B): 性能测试函数,参数为*testing.B类型,表示性能对象func ExampleXXX(): 示例函数,用于展示如何使用函数func TestXXX(t *testing.T): 测试函数,参数为*testing.T类型,表示测试对象