前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于初学Go语言的一些事

关于初学Go语言的一些事

作者头像
the5fire
发布2019-02-28 17:28:11
4510
发布2019-02-28 17:28:11
举报
文章被收录于专栏:Python程序员杂谈

最近在尝试用go语言(golang)开发项目,觉得go还挺不错,相较于Python来说,静态语言的优点就是写完代码就能检查出大多数的错误,有效的避免运行时出现的琐碎的bug。另外对于vimer来说,静态语言是的代码跳转变得容易,这意味着我可以随时的跳到包源码里了。好像暴露了用vim写python时的一些缺陷,好吧,这其实不是缺陷,用Ctags可以解决的,只是懒的配。

vim这事确实值得一提,想想那些从pycharm转过来的同学吧,还在苦苦搜寻该拜倒在哪个IDE下。对于现在既要写Python又要写Go的人来说,没有什么比在一个编辑器里都能搞定更爽得事了,可见之前的学习成本还是有价值的。当然用Emacs和Sublime也一样搞定。

当我们遇上新语言

人碰到新事物的时候往往会自动的去匹配就事物,就好像你到一个新环境,遇到新的同事,你会想,这人跟我之前的xxx同学挺像,那人的性格和ooo挺像。或者是学习一门新语言的时候,这个map不就是之前的dict吗,只是稍稍不同而已,这个struct不就是C中的struct嘛。

这就是人类,本能的属性,这是个优点。类比记忆能让你快速的记住这个人和关键字,也能消除陌生感。唯一有一点需要注意的是只是相似而已,不是相同。因此不要发出这样的叫声:我靠,为毛在Python里可以这样,在这却不行,什么破语言。

当遇上新语言的时候,不要抵触,不要鄙视,了解那些不一样的地方,细究那些类似的地方,然后发现果然有所收获。

看起来像Python,用起来像Java

新语言入手仪式必然是HelloWorld:

代码语言:javascript
复制
package main

import "fmt"

func main() {
    fmt.Println("Hello World")
}

这就是Golang的第一个语言,像不像Python?额。。那位同学你说什么,像C!好吧,这么看还真是。其实写多了发现比C要简单多了,对于一个在用Python战斗的人来说,我必然得把它映射到Python上的。你看那main不就是python中的 if __name__ == "__main__" 吗。从这几天写的代码来看,代码量确实接近Python。使用起来像Java还是因为我早先是做Java程序的,当然了如果我从C#直接转到Python的话我会说像C#。至于为啥,请参考上面。

觉得像Java,一是那两个熟悉的 {} (大括号),还有静态类型的声明,虽然Java我已然忘光,但感觉还在。

编译完直接可用

这确实是相当不错的做法,把上面的代码保存成hellowrold.go,然后执行go build helloworld.go,立马生成当前平台的可执行文件,只有一个文件,没有什么dll或so之类的东西。看样子就很好嘛,不过怎么升级呢?有人在群里问了,像C#或者VB,生成可执行文件的同时还可以生成dll文件,方便升级。但那是客户端的做法,我觉得在服务器端升级时直接在build一个然后放到服务器上就好了。比部署python简单多了。

总结

闲扯了一大篇,总的来说Go还是值得学习的,就像是许世伟一直宣讲的,Go语言致力于减少程序员的心智负担,这点稍稍有点体会。掌握一门动态语言,再掌握一门静态语言必然是极好的,但是如何分配时间确实是个纠结的问题。建议学生,编程新手还是focus在一个语言上,培养特长(腿特长不算)。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2013-11-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 当我们遇上新语言
  • 看起来像Python,用起来像Java
  • 编译完直接可用
  • 总结
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档