后端
Golang踩坑总结-使用下标获取字符串的字符
· ☕ 1 分钟 · ✍️ 卓
问题表现 使用下标获取字符串的字符时, 可能得到奇怪的字符 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 func main() { s := "hello" fmt.Printf("%c\n", s[1]) s = "你好" fmt.Printf("%c\n", s[1]) } //

Golang踩坑总结-循环中使用Goroutine中捕获参数
· ☕ 1 分钟 · ✍️ 卓
问题表现 goroutine中捕获的循环变量, 都为循环最后的值 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 func main() { for i, v := range []string{"a", "b", "c", "d", "e"} { // goro

Golang踩坑总结-循环中使用闭包捕获参数
· ☕ 1 分钟 · ✍️ 卓
问题表现 闭包中捕获的循环变量, 都为循环最后的值 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 func main() { // 保存函数闭包 var s []func() for i, v := range []string{"a", "b", "c", "d", "e"} {

Golang踩坑总结-接口值是否等于nil
· ☕ 2 分钟 · ✍️ 卓
问题表现 具体类型的nil值, 赋值给接口值变量后, 被判定不为nil 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 func main() { // *bytes.Buffer, 零值为ni

Golang避免使用struct tag
· ☕ 1 分钟 · ✍️ 卓
最近在用Golang搭建博客后端时, 遇到一个问题: 数据在从mysql到接口输出的json转化中, 需要做字段映射. 常规的方法是写db tag和j