go 实现两个协程交替打印1-100的奇偶数
之前在面试的时候被问到一个面试题:用两个协程交替打印 1-100 的奇偶数
觉得这挺有意思的,这也是挺考验面试者对 go 协程 的理解以及开发思路
今天就记录分享下我对这道题的实现方法,如果你也遇到过同样的问题,希望本章对你有所帮助。
之前在面试的时候被问到一个面试题:用两个协程交替打印 1-100 的奇偶数
觉得这挺有意思的,这也是挺考验面试者对 go 协程 的理解以及开发思路
今天就记录分享下我对这道题的实现方法,如果你也遇到过同样的问题,希望本章对你有所帮助。
控制台打印结构数据的问题:用默认的 fmt.Print 打印结构体,要么只显示类型不显示字段,要么嵌套结构全是乱码,调试时根本看不清数据全貌。
今天分享一下如何实现完美打印数据的方法,希望对大家有所帮助
我曾被启动阶段的混乱代码搞得头大:数据库连接、配置加载、服务注册全堆在main函数里,出了问题根本没法定位。
之前用 Go 开发系统时,模板渲染用户配置页面频繁报错——要么是 “map is nil”,要么是 “key not found”。
一开始直接用{{.Config.Name}}渲染,没考虑配置未初始化的情况。
在做配置文件导出功能时,直接用json.Marshal把数据转成 JSON 后写入文件,结果打开文件一看全是压缩成一行的乱码
实际可以用json.MarshalIndent做格式化缩进,还要指定编码避免乱码。
先明确核心前提:
Go 中数组是值类型,长度固定,排序时会复制副本(修改副本不影响原数组);切片是引用类型,排序时直接操作底层数组(推荐用切片做排序场景)。