Golang的优势是开发速度,C可以自由、精准的操控内存。
拿string类型举个栗子:
1、修改字符串:
golang:需要分配新内存,然后进行内存copy。
c:可直接修改,可realloc。
2、存一段data:
golang:使用[]byte类型,[]byte转成string需要进行内存拷贝(排除掉利用指针进行类型转换的情况)。
c:直接用char[],可读可写。
golang中为了语言的安全性,类似的这种限制有很多,牺牲了一部分性能。但golang的优势也是显而易见的,goroutine、chan都很好用,而c则需要自己进行进程、线程的管控。
C++适合本地程序的开发.Go语言适合网络程序和本地程序的开发.相对于C++Go的优点:垃圾回收语意明确格式统一缺点:效率目前没有C++高,但对于桌面程序而言,效率问题不大,因为硬件已经很快了.C++是目前的主流语言,相信会和C一样成为经典.成为经典的意思就是:学它的人能拿一份不错的工资,但也仅仅是不错而己.将来的网络的世界,Go发热的机会很大,认为其前途看好.Go的开发者包括Unix的创始人和C语言的创始人等,都是一代黑客之首,相信会做得很好.