Introduction
Golang
- Go也称Golang,是Google开源的一门静态强类型、编译型语言。
- 于2007年9月开始设计,2009年11月正式发布。
- 由Rob Pike、Robert Griesemer、Ken Thompson共同设计。
- Rob Pike:Google首席软件工程师,UTF-8发明人。
- Robert Griesemer:参与JavaScript V8引擎与Java HotSpot虚拟机研发。
- Ken Thompson:Unix发明者、B语言设计者、图灵奖得主、UTF-8发明人。
- 并发协程设计,接近C的运行效率与PHP的开发效率。
- 替代C++,推崇C语言的编码简洁与Python的小巧易用。
Go的特点
- 语法简洁,开发高效。
- 参考C语言的编码简洁与Python的小巧易用。
- 性能优秀,部署简单。
- 并发编程高效
Goroutine。 - 编译速度快。

Go的应用场景
- Web开发、微服务、并发编程。
- 容器技术、中间件、分布式系统。
- 区块链、云计算平台。
- 数据处理、大数据、数据库编程。
安装与配置
安装
可在Go官网选择合适的平台进行下载。macOS系统下还可选择Homebrew包管理工具进行安装:
brew install go
安装后可通过命令查看是否安装成功:
go version
开发工具
- GoLand,专业Go IDE,需要付费。
- Visual Studio Code,安装Go插件后使用。
官方网站
常用命令
go build main.go编译并生成可执行文件,命令行目录在哪个文件夹下,可执行文件就生成在哪个文件下。go run main.go运行Go程序,无论有没有可执行文件,都会先编译再运行程序。go mod init projectName初始化项目,创建go.mod文件(包管理工具)。go get url下载并安装包与其依赖项。go install编译与安装包。go clean删除源码包和关联源码包里编译生成的文件。go doc查看文档。go env查看Go环境变量。go fmt格式化文档。go version查看Go当前的版本。go tool查看Go工具。
代码结构
Go项目代码结构大致如下:

- 项目名称:
my-project,一个文件夹。 - 包名称:
calculator,一个文件夹。 - 模块名称:
logic.go,一个.go文件。 - 项目配置:
go.mod。 - 入口文件:
main.go,一个.go文件。
注意点
- 有
main方法的文件,必须要有package main声明。 - 一个文件中只允许有一个
main。 - 一个文件夹下同级目录不推荐有多个
main方法。 - 当运行
.go文件时,main方法会自动被调用。 - 一个包内部调用,不需要包名引导。
- 不同包之间调用方法,需要有包名引导。
- 在
main包文件下,如果没有定义main方法,那么该文件的程序无法执行。