这篇文章描述工作观察到的开发现状中存在的问题, 因为目前业务后台开发语言绝大多数都是C++, 并针对现状, 试图给出一个在Golang 的开发生态下的一些解决方案。 一、问题和对比 1.1 语言本身的开发效率 开发效率本身涉及的东西方方面都有, 在这里, 单纯从语言出发, 说一下开发效率高低影响的因素 1.1.1 内置语法...
每个程序员都应该掌握的Golang性能优化秘技 性能分析和优化是所有软件开发人员必备的技能,也是后台大佬们口中津津乐道的话题。 Golang 作为一门“现代化”的语言,原生就包含了强大的性能分析工具pprof 和 trace。pprof 工具常用于分析资源的使用情况,可以采集程序运行时的多种不同类型的数据(例如 CPU 占用、内存消耗...
一份文档,提供了编写清晰、惯用的 Go 代码的技巧。任何新的 Go 程序员都必须阅读。它扩充了学边学练和语言规范,两者都应该先阅读. 编辑器插件和 IDE 一个总结了常用编辑器插件和支持 Go 的 IDE 的文档. 诊断 总结了在 Go 程序中诊断问题的工具和方法. ...
GO111MODULE=off 无模块支持,go命令行将不会支持module功能,寻找依赖包的方式将会沿用旧版本那种通过vendor目录或者GOPATH模式来查找。 四、第一个 golang 应用 //主包,可执行文件所在包 package main //导入包 import "fmt" //主函数,入口函数 func main() { //打印输出 fmt.Println("hello go") } //...
Golang 标准库中的 flag 库提供了解析命令行选项的能力,我们可以基于此来开发命令行工具。 假设我们想做一个命令行工具,我们通过参数提供【城市】,它自动能够返回当前这个【城市】的天气状况。这样一个简单的需求,今天我们就来试一下,看怎样实现。 flag 库 Package fla
Go语言内置flag包实现了命令行参数的解析,flag包使得开发命令行工具更为简单。 os.Args 如果你只是简单的想要获取命令行参数,可以像下main的代码示例一样使用os.Args来获取命令参数。 packagemainimport("fmt""os")//os.Args demofuncmain(){//os.Args是一个[]stringiflen(os.Args) >0{forindex, arg :=ra...
学习过Python的读者都知道,在Python中我们使用pip来下载和管理Python的第三方模块(库)。和Python的pip一样,Golang也有自己的模块管理工具(也称为依赖管理工具),叫做Go Modules,不过它的历史有点“说来话长”。 1. Go模块管理的发展历史 Go的模块管理历经了GOPATH、Go vendor、第三方模块管理工具,直到2018年Go Mod...
git config --global user.name userName git config --global user.email userEmail 分支19 标签1257 John Guofeat(util/gpage): marked deprecated (#4230)1534abd23天前 6206 次提交 examples@f15e0c1 feat(util/gpage): marked deprecated (#4230) ...
Go 语言标准库 log 功能基础,高级特性可选 glog 或 log4go。glog 简单易用,通过命令行控制选项,如日志目录、输出等级等,还介绍了其日志输出、V 函数等规则及使用示例,代码地址:https://github.com/golang/glog
"一种编译速度快的小语言会让开发人员感到快乐.Go 语言很小,编译速度非常快,因此它让你的注意力集中在实际问题上,而不是你用来解决问题的工具上。编码,测试、调试周期如此之快,以至于您忘记了您不是在使用解释性语言。查看我们的代码,您会看到更少的样板和更多的业务逻辑." ...