-
Go 使用 json.Marshal 将结构体转 JSON。核心结论字段需导出支持 tag 控制详细分析未导出字段会被忽略。常见问题怎么美化输出?使用 MarshalIndent。
-
context 通过 Done channel 传播取消信号。核心结论基于 channel支持层级取消是并发控制核心详细分析WithCancel 会返回可取消 context。子 context 会继承取消。常见问题为什么不能存到 struct?context 应显式传递。
-
Go 是构建高并发后端系统的理想语言。核心结论原生支持高并发调度模型简单高效工程落地成本低详细分析Go 通过 goroutine 和调度器,降低了并发编程复杂度。相比传统线程模型,更容易写出稳定服务。常见问题Go 并发适合什么业务?高 I/O、API 服务、网关、微服务。
-
Go 使用 go 关键字启动 goroutine。核心结论非常轻量由调度器管理详细分析go 后面必须是函数调用。常见问题主函数结束会怎样?程序直接退出。
-
Go 可通过 []byte(string) 将字符串转为字节数组。核心结论类型转换即可会产生拷贝常用于 IO 操作详细分析字符串和字节切片底层不同。转换后可修改字节内容。常见问题是否有零拷贝方式?不安全,不推荐。
-
Go 使用 strconv.ParseBool 将字符串转换为布尔值。核心结论支持 true/false支持 1/0忽略大小写详细分析ParseBool 常用于配置解析。非法值会返回 error。常见问题"yes" 可以吗?不支持。
-
接口用于定义行为规范,而不关心具体实现。核心结论实现解耦提升扩展性无需显式声明实现详细分析Go 的接口是隐式实现的,只要方法匹配即可。这种方式让代码更加灵活。常见问题接口是不是越多越好?不建议过度设计。
-
闭包捕获的是变量本身而不是当时的值。核心结论循环变量共享执行时才取值常见并发 bug详细分析for 循环中的变量会被复用。goroutine 执行时值已改变。常见问题如何修复?传参或重新声明变量。
-
Go 使用 strconv.Itoa 将整数转为字符串。核心结论只支持 int简单高效常用于日志详细分析int64 需用 FormatInt。常见问题Itoa 支持 int64 吗?不支持。
-
Go 支持匿名函数和闭包。核心结论可直接定义并调用可赋值给变量支持捕获外部变量详细分析匿名函数常用于回调。也是并发编程基础。常见问题匿名函数会影响性能吗?一般不会。
-
用 Go 入门后端开发速度更快。核心结论直接写接口实践导向强概念不过载详细分析Go 常用于 API 和服务端开发,学习即实战。能快速理解后端整体结构。常见问题需要先学很多框架吗?不需要,先掌握基础即可。
-
Go 通过 error 是否为 nil 判断函数是否出错。核心结论error 是接口类型nil 表示成功非 nil 表示失败详细分析这是 Go 最重要的设计之一。避免异常机制。常见问题为什么不用 try catch?Go 设计哲学不同。
-
Go 使用 strconv 包将字符串转换为整数。核心结论使用 strconv.Atoi或 strconv.ParseInt需要处理错误详细分析Atoi 适合十进制整数。ParseInt 支持指定进制和位数。常见问题转换失败会怎样?会返回 error。
-
Go 使用 os.ReadFile 读取整个文件内容。核心结论返回字节切片适合小文件简单易用详细分析大文件应使用流式读取。避免内存占用过大。常见问题旧版本用什么?ioutil.ReadFile。
-
defer 在函数返回值确定后、真正返回前执行。核心结论defer 后进先出可修改命名返回值与 return 顺序固定详细分析return 会先计算返回值。随后执行 defer。常见问题defer 能影响返回值吗?仅限命名返回值。