C和GO的语法对比

具体转自阿莫论坛备份地址

C GO 说明
变量声明 int a; Var a Int C:变量类型+变量名字
Go:var+ 变量名字+变量类型
变量声明 并初始化 int a=10; Var a Int=10 C:变量类型+变量名字=表达式
Go:var+变量名字+ 变量类型=表达式
变量初始化时不指定类型 不支持 Var a=10 变量类型由编译器来推导
短变量声明并初始化 不支持 a:=10 变量类型由编译器来推导
多变量声明 不支持 name,age:=“pengwang”,18
var(
name= “pengwang”
age= 18
)
字符 Chars=‘a’ varsbyte=‘a’ char, byte等同于int8,占用1个字节
字符串 CharsO=“123456” var sstring= “123456” c中采用字符数组来表示字符串,没有特定的变量名称;go中用sting 变量类型,sting 底层也是byte数组
rune 不支持 I 支持 Go语言中rune等同于int32,占用4 个字节; go中采用rune主要为 了解决中文等字符,go编码是utf.8编码,-般占用3个字节; 在go中用rune的好处在于快速获取字符串,特别是utf-8 比如: s:= "你好12,如果想要快速分别得到s字符串中“你”和“好”, 在c中,一般是通过字节偏移来获取;在go中可以把string强制换