go语言与C语言对比
核心差异
1. go语言有内存回收机制,而C没有。 这减少了程序员出错的概率,C语言管理指针经常发生野指针、空指针的问题。
2. go语言感觉是在C与python等语言中的一个折中。go语言中还保留着指针,简短变量这样的东西。 而简短变量或函数中的临时变量可以被返回到函数外面。 有点不伦不类的感觉。
3. go语言局部变量是在堆上分配还是在栈上分配,这个是在编译的时候编译器决定的; 而C语言中局部变量就在堆上分配。 所以go语言中局部变量可以逃逸到外面来。
4. go语言能使用new来创建一个对象或类型,并返回其指针。 但是new却并不一定就是在堆上分配的,它是在编译的时候编译器根据其引用决定的。 另外new是一个内建函数,并非关键字,这与C++一样。
未完待续

浙公网安备 33010602011771号