GO语言的特点:
1.高性能、高并发
2.语法简单、学习曲线平缓过来
3.丰富的标准库
4.完善的工具链
5.静态链接——编译结果都是静态链接,只需要拷贝编译之后的唯一个可执行文件即可部署运行
6.快速编译
7.跨平台——交叉编译
8.垃圾回收机制——不用考虑内存分配释放,与Java类似
GO语言的基础语法
hello world:
package main
import "fmt"
func main() {
fmt.Println("Hello world!")
}
package main:包声明,编写源文件时,必须在非注释的第一行指明这个文件属于哪个包
import "fmt":引入包,其实就是告诉Go 编译器这个程序需要使用的包
变量:
package main
import "fmt"
func main() {
var a = "initial"
var b,c int=1,2
d :=float32(e)
fmt.Println(a,b,c)
const f=20
}
变量声明:
1.var a = "initial"自动推导变量类型,也可显示声明变量类型
2. d :=float32(e) 变量名:=值
变量的默认初始值
整型和浮点型变量的默认值为 0 和 0.0
字符串变量的默认值为空字符串
布尔型变量默认为 bool
切片、函数、指针变量的默认为 nil
常量:将var改成const。常量没有确定的类型,会根据前后文自动确定类型
循环语句:
go语言只有for循环,没有while,do……while循环,for循环如果不写任何的判断语句就是死循环,例如:for{//循环体}
分支语句(switch):switch语句,在Go语言中得到了很好的强化,首先,他不需要每一个case对于一个break语句,默认只跑符合的那一个,其次,它判断时可以兼容任何的类型,还有可以实现每个case直接写布尔表达式,直接判断。
指针:
与C相同,Go语言让程序员决定何时使用指针。变量其实是一种使用方便的占位符,用于引用计算机内存地址。Go 语言中的的取地址符是&,放到一个变量前使用就会返回相应变量的内存地址。
指针变量其实就是用于存放某一个对象的内存地址。为了实现函数中地址传输,对传输的参数进行修改