1. 语法
var name type
Go语言的基本类型有:
- bool
- string
- int、int8、int16、int32、int64
- uint、uint8、uint16、uint32、uint64、uintptr
- byte // uint8 的别名
- rune // int32 的别名 代表一个 Unicode 码
- float32、float64
- complex64、complex128
2. 函数
func 函数名(形式参数列表)(返回值列表){
函数体
}
func hypot(x, y float64) float64 {
return math.Sqrt(x*x + y*y)
}
func typedTwoValues() (int, int) { return 1, 2 }
代码管理对比
- Go语言中通过包来管理代码
- Go语言没有.h文件的概念, 在Go中想使用某一个函数时, 只需要import导入对应的包即可
- Go语言中函数、变量公私有管理
- 通过函数名称首字母大小写实现是否公开函数
- 通过变量名称首字母大小写实现是否公开变量
常量变量对比
- Go语言定义常量和变量格式
- 除了以下标准格式外,Go语言还提供了好几种简单的语法糖
var 变量名称 数据类型 = 值;
const 变量名称 数据类型 = 值;
运算符对比
- 算数运算符和C语言几乎一样
- Go语言中++、--运算符不支持前置
- 错误写法: ++i; --i;
- Go语言中++、--是语句,不是表达式,所以必须独占一行
- 错误写法: a = i++; return i++;
- Go语言中++、--运算符不支持前置
流程控制语句对比
- C语言流程控制中的if、switch、for在Go语言都可以使用
- C语言中的四大跳转语句return、break、continue、goto在Go语言都可以使用
- Go语言除了实现C语言中if、switch、for、return、break、continue、goto的基本功能以外,还对if、switch、for、break、continue进行了增强
- 例如: if 条件表达式前面可以添加初始化表达式
- 例如: break、continue可以指定标签
- 例如: switch语句可以当做if/elseif来使用
- ... ...
- 值得注意的是Go语言中