Go介绍
Go是一种开源编程语言,可以轻松构建简单,可靠和高效的软件。
Go是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。为了方便搜索和识别,有时会将其称为Golang。
罗伯特·格瑞史莫,罗勃·派克(Rob Pike)及肯·汤普逊于2007年9月开始设计Go语言,稍后Ian Lance Taylor、Russ Cox加入项目。Go语言是基于Inferno操作系统所开发的。Go语言于2009年11月正式宣布推出,成为开放源代码项目,并在Linux及Mac OS X平台上进行了实现,后来追加了Windows系统下的实现。
受欢迎程度
截止目前为止,越来越多的开发者开始使用GO,并喜欢用Go,目前在Github统计中,Go排名第9
最受欢迎的5种语言和最想使用的语言之一
来源: https://insights.stackoverflow.com/survey/2017#most-loved-dreaded-and-wanted
Go 是云基础架构语言
每个云计算公司都在用Go实现云基础架构关键组件,包括Google Cloud, AWS, Microsoft Azure, DigitalOcean, Heroku。Go是阿里巴巴,cloudflare和Drobox等云计算公司的重要组成部分
Go开源软件的影响力
Go 有很多出色的开源软件,并且很流行,举几个常见并且正在用的例子
kubernetes:容器编排系统,是一个自动化部署,扩展和管理容器的系统,最初由Google涉及并用于GRE
Moby(Docker):容器
Prometheus:是一个开源的监控解决方案和时间序列数据库,支持metric和Alert
Granfana:仪表盘和图形
说了这么多,下面我们开始正式了解Go的语法及格式等。
Hello 世界
因为Go是二进制方式,所以安装比较简单,这里不做过多介绍,可以参照官方文档:https://golang.org/doc/install
每个语言都以Hello World开始,Go也不例外,我们先写一个Hello World
$ vim hello.go
package main
import(
"fmt"
)
func main() {
fmt.Println("Hello 世界")
}
$ go run hello.go
Hello 世界
Go的目录组织结构(Workspaces)
src: 包含Go源文件,src下有不同目录,每个目录可以理解为一个项目,在
pkg: 包含package object
bin: 包含可执行命令文件
bin/
hello # 可执行命令
outyet # 可执行命令
pkg/
linux_amd64/
github.com/golang/example/
stringutil.a # package object
src/
github.com/golang/example/
.git/ # Git repository metadata
hello/
hello.go # 源码
outyet/
main.go # 源码
main_test.go # 测试源码
stringutil/
reverse.go # 源码