C和GO的语法对比
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强制换 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 spaceman!