goroutinegoroutinegoroutinegoroutinegoroutinegoroutinegoroutine
二、优势是什么?a、goroutine 具有可增长的分段堆栈。这意味着它们只在需要时才会使用更多内存。
b、goroutine 的启动时间比线程快。
c、goroutine 原生支持利用 channel 安全地进行通信。
d、goroutine 共享数据结构时无需使用互斥锁。
语法简洁
Go 语言简单易学,学习曲线平缓,不需要像 C/C++ 语言动辄需要两到三年的学习期。Go 语言被称为“互联网时代的 C 语言”。Go 语言的风格类似于 C 语言。其语法在 C 语言的基础上进行了大幅的简化,去掉了不需要的表达式括号,循环也只有 for 一种表示方法,就可以实现数值、键值等各种遍历。
代码风格统一
Go 语言提供了一套格式化工具 —— go fmt。一些 Go 语言的开发环境或者编辑器在保存时,都会使用格式化工具进行修改代码的格式化,这样就保证了不同开发者提交的代码都是统一的格式。
开发效率高
Go 语言实现了开发效率与执行效率的完美结合,让你像写 Python 代码(效率)一样编写 C 代码(性能)。
三、使用 Go 语言的公司 四、Go 语言适合做什么五、Go 语言的前景
- 服务端开发
- 分布式系统,微服务
- 网络编程
- 区块链开发
- 内存 KV 数据库,例如 boltDB、levelDB
- 云平台
目前 Go 语言已经⼴泛应用于人工智能、云计算开发、容器虚拟化、⼤数据开发、数据分析及科学计算、运维开发、爬虫开发、游戏开发等领域。Go 语言简单易学,天生支持并发,完美契合当下高并发的互联网生态。Go 语言的岗位需求持续高涨,目前的 Go 程序员数量少,待遇好。抓住趋势,要学会做一个领跑者而不是跟随者。国内 Go 语言的需求潜力巨大,目前无论是国内大厂还是新兴互联网公司基本上都会有 Go 语言的岗位需求。
六、Go 开发入门开发环境安装
Go官网(https://golang.org/dl/ ) 下载安装包。以下以 Windows 环境为例:
Windows 安装
验证安装
配置环境变量
GOPATH goGOPATH GOPATHsrc
GOPATH Go path Go GOPATH
在 GOPATH 目录下新建 3 个文件夹
Go 项目目录
Go $GOPATH/src go buildgo install go get $GOPATH/src $GOPATH/bin $GOPATH/pkgGit $GOPATH/src binpkg
个人开发者
GOPATH src
流行的项目结构
Go 语言中也是通过包来组织代码文件,我们可以引用别人的包也可以发布自己的包,但是为了防止不同包的项目名冲突,我们通常使用顶级域名来作为包名的前缀,这样就不担心项目名冲突的问题了。因为不是所有个人开发者都拥有自己的顶级域名,所以目前流行的方式是使用个人的 Github 用户名来区分不同的包。
企业开发者
Hello World
src main.go
package main // 声明 main 包,表明当前是一个可执行程序
import "fmt" // 导入内置 fmt
func main(){ // main函数,是程序执行的入口
fmt.Println("Hello World!") // 在终端打印 Hello World!
}
go build。Go GOPATH srchello windowshello.exe hello.exe
D:\ZHY\Go\src\hello>hello.exe
Hello World!
我们还可以使用 -o 参数来指定编译后可执行文件的名字。
go build -o testhello.exe