Go 即Golang,是Google公司2009年11月正式对外公开的一门编程语言。
Go是静态强类型语言,是区别于解析型语言的编译型语言。
解析型语言——源代码是先翻译为中间代码,然后由解析器对代码进行解释执行。
编译型语言——源代码编译生成机器语言,然后由机器直接执行机器码即可执行。
2 Go语言特性跨平台的编译型语言
语法接近C语言
管道(channel),切片(slice),并发(routine)
有垃圾回收的机制
支持面向对象和面向过程的编程模式
3 Go 语言特色编程模式比较简单,没有复杂的设计模式
全部源码编译到一个文件,编译速度很快
最新版本也有动态库形式,对跨语言调用的支撑更到位
开源框架比较成熟,新崛起的互联网公司都在用——如滴滴,uber,百度,阿里巴巴,oppo,vivo等
微服务的开发模式下Go语言是新宠
4 Go 擅长领域服务开发,web的api开发,分布式服务集群的开发
容器docker是go开源的产品,k8s等这些都是基于go语言的
对高并发、高性能的系统和服务支撑,Go语言对比其他语言有更快的开发速度,更高的开发效率
独有的语言特性和设计模式routine,channel,sync包支撑了海量并行的支持。
所以能看到这些领域都在使用Go语言:微服务开发模式,api开发,rpc服务开发,游戏服务开发等等
5 Go语言的helloworld例子helloworld 源码
package main
import "fmt"
func main() {
fmt.Println("Hello, 世界")
}
源码简单说明:其中package是go语言中以包为概念,一般包对应着目录名字(对应着名字也方便看和提升效率),当然main的包是个特殊的包,不需要目录名字一致。import是对一个不是本包的外面的包的引入,go语言有个特点对于不使用的包引入了,是会编译出错,报错说没有使用已经引用的包。
fmt是go语言的一个系统模块,跟格式化和console的输出有关。所有的语言编程都会有main方法入口,对于有些没有的话其实框架本身底层封装了而已。
运行结果
Hello, 世界
关于本专栏——Go 语言教程,专栏致力于为希望可以系统地,一条一条地,一步一步的学习Go语言的朋友提供一个可以持续阅读的地方,当然也希望可以通过我的实践经验以及相应的基础,可以给你一些学习之外的想法和总结,以及提高。如果真的有帮助,哪怕一点点,可以把这个一点点的提高分享给我,欢迎跟我勾搭联系。