概念差异:
1.Go没有继承和虚函数,但是提供接口interface。
2.Go有指针,但是没有指针算术。
3.Go提供垃圾回收。不需要delete
4.Go的字符串类似C++的const char*。无法被修改。
5.Go少数类型是引用传递。
6.Go的对外可见是以大小写定义头字母的来识别的。C++中是Public,private。
7.Go禁止隐式类型转换。
8.Go不支持函数重载和运算符重定义。
9.Go使用nil表示无效指针。
10.左大括号{必须在当前行。
0.命名规范以及缩进
1.行末没必要有分号 ; 。
2.对外变量或函数首字母大写。
3.命名规范我本人参考的http://studygolang.com/articles/2059
1.变量
1.基础类型
var a int8 = 3
var a int16 = 3
var a int32 = 3
var a int64 = 3
var a uint8 = 3
var a uint16 = 3
var a uint32 = 3
var a uint64 = 3
var a float32 = 3
var a float64 = 3
var a int64 = 3
var a int8 = 3
var a int16 = 3
var a int32 = 3
var a int64 = 3
var a string = "asd"
var a byte = 'v'
2.枚举
const(
_ = iota
a //1
b //2
)
3.type
type str string
2.控制语句
1.ifif youcode {
}
2.for
for i:=1; i < x; i++{
//不支持前置++
}
3.switch
switch (a){
case 1:
case 2:
default:
}
没必要break,会直接返回。
3.函数
1.
4.类(自定义结构)与模板
1.5.继承
1.
6.引用其他文件的类,函数,变量
1.
7.接口
1.8.数组
1.9.异常
1.
10.并发(协程)
1.
最后附上:
package main
import (
"fmt"
)
func main() {
fmt.Println("Hello World!")
}
有疑问加站长微信联系(非本文作者)