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
类型,表示测试对象