2024-09-26 Go init之坑 Go随笔 init 函数是绑定包的, 其执行顺序在包内变量声明之后, 调用main函数之前 所以第一个问题是, 如果把函数绑定到包内变量, 则会在init之前执行 init 一个包内可以多个, 一个go文件内也可以有多个, 同文件中的调用顺序由声明顺
2024-09-26 Go test中运行指定的benchmark Go随笔 我遇到的问题是跑benchmark的时候, 非benchmark的测试用例也会跑。 查了查应该加上 -run=none 来禁用Testing
2024-09-26 GO 断言(testify) Go随笔 Go标准包中为什么没有断言,官方在FAQ里面回答了这个问题。 官方说是为了防止程序员在错误处理上偷懒。 但其实个人感觉引入的话可读性更高嘿嘿 基本使用方法大概如下 12345func TestTestify(t *testing.T)
2024-09-26 Go 时间戳获取转换 Go随笔 获取时间time.Now() 返回 time.Time 类型的时间, Time.Unix() 返回当前时间的秒级时间戳, 起始时间为2006-01-02 15:04:05, Go 语言诞生的时间。 时间转字符串 1time.Now().Fo
2024-09-25 MySQL 获取表信息 随笔 在MYSQL5.0以上版本中存在自带数据库information_schema,他是一个存储所有数据库名,表明,列名的数据库,相当于可以通过查询此库获得相应信息。
2024-09-24 YAML 日志格式 随笔 YAMLYAML (YAML Ain’t Markup Language)是一种人类可读的数据序列化格式,常用来表示配置文件。 在Go中,使用’gopgk.in/yaml.v3’包来解析YAML文件。 YAML格式可见 菜鸟教程-
2024-09-24 可重入锁 随笔 可重入锁简述 在Java中 ReentrantLock 和 synchronized 为可重入锁。 某个线程已经获得某个锁,可以再次获取锁而不会出现死锁。 synchronized 可以自己释放锁, ReentrantLock 必须自己释放
2024-09-13 Go 并发场景下的map Go随笔 原生 map原生 map 是线程不安全的,需要加锁。 123456789101112131415func main() { m := make(map[string]int, 2) m["dd"] = 22 g