GO语言学习 | 青训营
Go语言
谷歌开发的的一种静态强类型、编译型语言。Go 语言语法与 C相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。 罗伯特·格瑞史莫(Robert Griesemer),罗布·派克(Rob Pike)及肯·汤普逊(Ken Thompson)于2007年9月开始设计Go,稍后Ian Lance Taylor、Russ Cox加入项目。Go是基于Inferno操作系统所开发的。Go于2009年11月正式宣布推出,成为开放源代码项目,并在Linux及Mac OS X平台上进行了实现,后来追加了Windows系统下的实现。在2016年,Go被软件评价公司TIOBE 选为“TIOBE 2016 年最佳语言”。 目前,Go每半年发布一个二级版本(即从a.x升级到a.y)
GO语言特性
自带运行环境
GO语言的运行环境Runtime会作为程序的一部分打包进执行文件,用户可以直接调用Runtime的函数。因此也无需出力GC问题,全权交给Runtime就行。
快速编译
一次编码,就能在多平台编译成机器码运行,高效便捷,这种跨平台的能力是Runtime给予的。
为高性能高并发而生
不同于C++的编码要求很高,GO即使是新手小白也可以写出很好的并发程序,处理协调调度的能力也是Runtime赋予的。
良好的生态
官方的标准库就能开发很多功能了,GO语言自身也具备丰富的工具,如代码格式化、单元测试、基准测试、包管理等。
GO语言语法
一个GO语言程序包含:声明;引入包;函数;变量;语句&表达式; 注释 。
1 package main
2 import "fmt"
3 func main() {
4 fmt.Println("Hello, World!")
5 /* 程序 */
}
1.声明
package main
GO语言程序中必须指定你是在那个包下面,用来表示是一个可以独立执行的程序。
2.引入包
import "fmt"
告诉编译器本文件需要使用的包文件,这个“fmt”包里包含了输入输出函数。
3.函数
func main() {
}
main函数作为程序的执行入口,必须包含在程序中。
4.语句&表达式
fmt.Println("Hello, World!")
该函数可以将字符串输出到控制台,并且在最后增加换行。
5.注释
/* 程序 */
GO语言的注释和其他语言类似。
总结
一些优秀的云原生项目都是用GO语言写的,比如Docker、Kubernetes等,Go语言从谷歌横空出世,他拥有接近C\C++语言的执行速度,学习成本却接近于Python,一些大型的公司都在使用GO,如GO的东家Google、BAT三巨头、字节,小米等。GO将会成为下一个企业级的变成语言,