初识golang

qq_24693837 · · 1272 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

最近几天闲着无聊,老大给推荐了一门新的语言golang(对于我来说),看了一些

介绍,也写了几个小demo,马上爱上了这门语言,凭着一股“生命不止,折腾不息”的

客精神,也写个小博客,发表一些个人见解。

本人主语言Java,如果说比较,那就拿Java和golang做个比较,比较的目的不是要

发诸如“php是世界上最好的语言”这种无意义的语言之争,而是对语言的应用场景

大致的了解,以满足不同业务场景的应用,其实对我来说更是一种学习,一种思维

式的练习。

先讲讲写golang程序的感受吧,写起来真是爽,没接触golang之前,用Java写程序

,有IDE还好办,代码写起来也没觉得太冗长啰嗦,但用了golang就不同了,golang就

一把瑞士军刀,小巧、精悍、锋利,瞬间感觉Java在这方面弱爆了。

上个HelloWorld代比较下吧:

Java版:



golang版:



看到没,golang连分号都省了,简洁,不多说,以后还有更多的例子。

galang作为一门现代语言,博采众长,背后是google这座大靠山,吸取了各种语言

的精华,其设计理念就是为解决软件工程中的诸多问题而生的,是一种偏向于服务端的

编程语言,主要目的是为编写大型分布式系统提供支持,现在已经愈发成熟,像
Docker、今日头条的微服务架构,七牛的云存储。
下面说说golang的优点或者说吸引我的地方:
1.它在语言级别就提供了并发的支持,不像Java,是库级别的,而且并发的工具
繁多,用Java写出高质量的并发程序是一件相当有挑战性的工作。而golang不同,首先它的并发模型设计的比较好,采用一种叫协程(这是一种更轻量级的线程)的概念处理并发,可以同时开启上万个协程而毫无压力,同时解决了线程切换的开销,能把cpu的性能最大化,尤其是在当前服务器动辄几十核的处理器上,把多核的优势发挥到极致,这是它比其它语言的最大优势。
2.它的标准库工具强大:这包括互联网应用、系统编程和网络编程。Go里面的标准
库基本上已经是非常稳定了,特别是我这里提到的三个,网络层、系统层的库非常实用
3.有指针(但没有C的指针运算),有垃圾回收(现在已经比较完善了,给力),Go
言支持当前所有的编程范式,包括过程式编程、面向对象编程以及函数式编程。程序员们可以各取所需、自由组合、想怎么玩就怎么玩,编程十分灵活,给了程序员很大的想象空间,同时自带的工具在源码编译之前就固定了格式,使得格式统一,所有程序员写的代码都是同一格式,方便团队开发和阅读源码。
这是以上我感受比较深的,当然golang的优点还有许多,也还有不完善的地方,以
后我打算把go语言作为第二语言来学习,也会更多地分享关于go的文章,也希望看过这篇文章的你和我一起加入go语言的大家庭,下面附上2017年6月的编程语言排行榜,从中可以发现golang目前的发展势头是多么火爆:

go一年内从48上升到现在的15,在看其增长速度1.83%,对比其他语言,排名前三的
语言都是负增长,而在golang前面的语言没有一个增长速度超过1%的,所以我十分看好golang的发展,强大的开发团队,完善的文档,火爆的社区和分布式开发的需求,这些都是推动这门语言欣欣向荣的原动力。





有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:qq_24693837

查看原文:初识golang

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1272 次点击  ∙  1 赞  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传