一、Go语言简介
1、什么是Go语言
Go(又称Golang)是 Google 开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。Go语言既能达到静态编译语言的安全和性能水平,又达到了动态语言开发维护的高效率。
罗伯特·格瑞史莫(Robert Griesemer),罗勃·派克(Rob Pike)及肯·汤普逊(Ken Thompson)于2007年9月开始设计Go,稍后Ian Lance Taylor、Russ Cox加入项目。Go于2009年11月正式宣布推出,成为开放源代码项目,并在 Linux 及 Mac OS X 平台上进行了实现,后来追加了 Windows 系统下的实现。在2016年,Go 被软件评价公司 TIOBE 选为“TIOBE 2016 年最佳语言”。 目前,Go每半年发布一个二级版本(即从a.x升级到a.y)。
2、Go语言的特点
- Go语言从C语言中继承了很多理念,Go语言保留了指针,但可以自动地进行垃圾回收,而无需像C和C++需要手动进行垃圾回收
- Go语言引入了包的概念,用于组织程序结构,Go语言的每个文件都要归属一个包,而不能单独存在
- Go语言有垃圾回收机制,内存自动回收,不需要开发人员进行管理
- Go语言天然支持并发,这是Go语言非常重要的一个特性。Go从语言层面支持并发,Go语言中的goroutine可实现大并发处理,高效利用多核
- 吸收了管道通信机制,形成Go语言特有的管道(channel),通过管道可以实现不同的goroute之间的相互通信
- 函数可以返回多个值
- Go语言中还包含了切片(slice)、延时执行(defer)等新的创新
3、Go语言的应用
目前,Go语言主要用于区块链、服务端开发、分布式和云计算等领域。
二、开发环境配置
1、下载SDK
Go支持Linux、FreeBSD、Mac OS X 和 Windows,请下载对应操作系统的SDK。下面给出一些下载地址:
名称 | 下载地址 |
---|---|
Go语言官网 | |
Google中国 | |
Go语言中文网 |
2、配置环境变量
bin
1
2
3
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=$HOME/project/go
go version
(2)对于 Windows 用户,Go 语言需要配置以下三个环境变量:
%GOROOT%\binbin
go version
三、开发流程
下面将通过编写一个Hello World程序来来讲Go语言程序开发的流程。
1、开发
hello.go
1
2
3
4
5
6
7
package main
import "fmt"
func main() {
fmt.Println("hello world!")
}
2、编译
打开终端或控制台,在源代码所在目录下输入以下内容:
1
go build hello.go
hellohello.exe
3、运行
hellohello.exe.\hello.exe
有很多的编辑器和IDE可以进行Go语言程序的开发,推荐使用 Visual Studio Code 或 GoLand 进行开发,下面将通过一张图片说明使用 Visual Studio Code 并在 Windows 系统上进行 Go 语言程序开发的完整流程:
go rungo run hello.go
四、注意事项
1、源文件以”.go”为拓展名
.go.go
2、程序入口是main()函数
main()
3、严格区分大小写
Hellohello
4、每条语句后不需要分号
Go语言中每条语句的结尾不需要添加分号,因为Go语言在编译时会自动添加分号,这体现出Go语言的简洁性。
5、不能把多条语句写在一行
Go语言是按行进行编译的,因此如果在一行中写入多条语句将无法通过编译:
6、定义的变量或导入的包一定要使用
在Go语言中,定义的变量或者导入的包一定要使用,否则将无法通过编译:
五、代码风格
1、注释
///**/
2、缩进和空白
gofmtgofmt
3、代码块
正确的写法:
1
2
3
func main() {
// code
}
错误的写法:
1
2
3
4
func main()
{
// code
}
如果采用了错误的写法,就会出现以下结果:
可以看到,当采用错误的格式时,编译将无法通过,因为Go语言的设计者提倡一个问题尽量只有一个解决方法。
4、输出字符数量
输出的字符一行最好不超过80个字符,超过的请使用换行符,尽量保持格式的优雅。
六、相关资料
1、Go指南
官方网站:https://golang.org 或 https://golang.google.cn/。
Go语言中文网:https://studygolang.com。
2、标准库API
官方API文档:https://golang.org/pkg/ 或 https://golang.google.cn/pkg/。