Go
文章平均质量分 78
a_ran
程序员,公众号:进击的代码
展开
-
一些 Go Web 开发笔记
用 Go 进行 Web 开发时的学习心得,包括 Go 1.22 中的路由改进、sqlc 自动生成数据库查询代码的使用体验以及针对 SQLite 的优化建议,还分享了喜欢用 Go 开发网站的原因。原创 2024-10-03 11:59:51 · 1283 阅读 · 0 评论 -
为什么人们对即将推出的 Go 1.23 迭代器感到愤怒
Go 的迭代器在设计原则上是合理的,但是看起来违背了大多数人对 Go 的看法,并且这种方法非常具有函数式编程的风格,而不是命令式编程的风格。原创 2024-06-19 13:13:58 · 1979 阅读 · 0 评论 -
Go 1.22 - 更加强大的 Go 执行跟踪
Go runtime/trace 在之前的版本,存在四个主要问题。在 1.22 版本中进行了大幅优化,可以进行低开销、可扩展的执行追踪,还提供了 Flight recorder 和 Trace reader 两个便捷的 API。原创 2024-03-19 08:39:07 · 1064 阅读 · 0 评论 -
Go Run - Go 语言中的简洁指令
go run是我最喜欢的 Go 语言特性。想要运行你的代码?只需go run main.go。原创 2024-02-26 08:11:59 · 631 阅读 · 0 评论 -
13 年后,我如何用 Go 编写 HTTP 服务(译)
大约六年前,我写了一篇博客文章,概述了我是如何用 Go 编写 HTTP 服务的,现在我再次告诉你,我是如何写 HTTP 服务的。原创 2024-02-11 11:22:23 · 2509 阅读 · 1 评论 -
golang 八进制 utf-8 编码转中文
当调试程序,打印出变量的值时,有可能输出的是八进制 utf-8 编码(尤其是 protobuf 变量) 例如:\346\200\241\346\200\241\346\200 这样的字符串如果作为字面量,go可以自动转化, 但如果是从文件或string中读取,就不行了。 可以使用正则表达式简单处理下 如下代码示例:package mainimport ( "fmt" ...原创 2018-06-20 19:23:45 · 9202 阅读 · 2 评论 -
Linux 下 Sublime Text 3 安装 Godef 进行代码跳转/跳回
GoSublime 插件中的跳转使用的是 GsDoc,只能跳转包名点出来的成员和函数(例如 fmt.Println),很不方便后来发现了 Godef 这个插件,可以实现任意对象跳转(瞬间爽的飞起,此外,我还添加了跳转回来的方法)http://blog.buaa.us/godef-plugin-for-sublime-released/ 这个是 Godef 作者(在此感谢)的发布文档以下记录下安装过...原创 2018-02-23 18:40:45 · 5281 阅读 · 0 评论 -
Go -v 显示版本号和编译时间示例
C语言想要 -v 显示编译时间,可以使用 __DATE__, __TIME__ 这两个宏, 而 Go 没有类似的常量,当然可以使用 Go 调用 C 代码(这是另一种方法) 然而,更好的方法是使用 go build 的 -ldflags 参数 原理如下:$ go build --help -ldflags 'flag list' arguments to pas原创 2017-11-13 18:02:04 · 7614 阅读 · 0 评论 -
Go IP 地址字符串整数/string int 相互转换
Go 中没有 C 语言 inet_aton 和 inet_ntoa 类似的转换 IP 函数, 所以需要手动封装两个函数 (转换的方法有多种,我选择了简洁的) 实现如下:package mainimport ( "fmt" "math/big" "net")func InetNtoA(ip int64) string { return fmt.Sprintf("原创 2017-12-22 18:07:56 · 13921 阅读 · 2 评论 -
Go 循环跳转语句使用标签的作用之一
Go 中的 for 循环可以使用 continue, break 进行控制,同时也可以标签下面看一下使用标签的一个好处示例:Go 求 N 以内的素数package mainimport ( "fmt")func main() { printPrime(10)}func printPrime(maxNum int) {next: for outer := 2; o原创 2017-10-12 10:20:27 · 1597 阅读 · 0 评论