GO语言学习 | 青训营

108 阅读2分钟

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将会成为下一个企业级的变成语言,