- 论坛徽章:
- 0
|
本帖最后由 sorawa 于 2015-02-02 17:25 编辑
1. Golang语言的特点是什么?
2. Golang语言的优缺点是什么?怎么平衡
3. 如何深入学习Golang语言,分享一下学习心得,源码剖析更好了
说到特点 说几个点
强类型,OO,多返回,也有指针(是不用担心野指针的指针),垃圾回收,ACTOR,,动态处理堆栈内存分配
他的OO抛弃了传统OO的复杂性,没有多态,再也不用担心管理那么多类,以及对象释放时的内存泄露
指针问题,是个c语言超级心塞的地方,也特别容易出错,
而golang则改进了指针的各个方面,举个例子
func() (*int){
a:=1 //栈分配
b:=1 //堆分配
return &b
}
这样的操作,再也不用担心指针,和暴力访问了。
精练这点说不上,比传统的语言好很多,算得上智能语言的都不简便吧
如果你写过项目,你会发现很多坑爹的地方,项目出现无数
if err != nil {
return
}
这种东西让人烦不胜烦,
再说引入slice list这些东西,python早就有类似的东西,并且比他强大得多
如果说一点真正强大的地方,我想说应该是goroutine了
现在搞高并发,并行处理的语言,应该都听过erlang, 正是coroutine这种轻量协程非常方便处理线程问题
用协程处理请求,编写起来非常方便,调度由goroutine处理
还有说到点就是rpc方面的功能还是很弱。。。remote call这种居然带了个http 的rpc模块。真是弱到飞起了
当然对比(erlang rpc:call(Node,Module,Function,Args))下
关于怎么学习golang....
我只想说,现在关于golang的书实在太少,除了官方文档,也没几本书可以介绍了
而且有些书本从web编程开始golang,实在不太适合。我认为golang在 服务器方面还是比较强大
从系统/并发方向的书应该会适合点,也更系统点。
|
评分
-
查看全部评分
|