Go 优点
- 自带gc。
- 静态编译,编译好后,扔服务器直接运行。
- 简单的思想,没有继承,多态,类等。
- 丰富的库和详细的开发文档。
- 语法层支持并发,和拥有同步并发的channel类型,使并发开发变得非常方便。
- 简洁的语法,提高开发效率,同时提高代码的阅读性和可维护性。
- 超级简单的交叉编译,仅需更改环境变量。
Go 适合做什么
- 服务端开发
- 分布式系统,微服务
- 网络编程
- 区块链开发
- 内存KV数据库,例如boltDB、levelDB
- 云平台
Go 语言特点
- 自动立即回收。
- 更丰富的内置类型。
- 函数多返回值。
- 错误处理。
- 匿名函数和闭包。
- 类型和接口。
- 并发编程。
- 反射。
- 语言交互性。
Go的函数、变量、常量、自定义类型、包(package)的命名方式遵循以下规则:
1)首字符可以是任意的Unicode字符或者下划线
2)剩余字符可以是Unicode字符、下划线、数字
3)字符长度不限
基础语法与代码风格
源文件后缀名.go,入口是main()函数,main()函数必须在main包。
go语言严格区分大小写,大写公开,小写私有。
每条语句后面不需要分号,编译器会自动加上分号。(你写分号不会报错。)
每一行必须只写一句,i++必须独占一行。
强制首花括号行尾风格,不在行尾编译报错。
引入的包和定义的变量必须使用,如果不用则编译报错。
先写变量名,再写类型名。
函数允许有多个返回值。
函数本身也是一种数据类型,可以作为参数传递。
变量不赋值,默认给零值。
与Java不同,Java的所有变量和方法都写在类的内部,以类为单位组织代码。Golang则是包内写变量、方法,以包为单位组织代码。
如果代码过长,可以换行保持优雅,注意不要在括号处换行。
注释风格和Java一样,//行注释,/**/块注释