Go强大的语法基因 / 网络研习社#34
最近学点技术渐入佳境,没几天就把Docker搞定了,感觉还挺不错的。Go的强大也是早就耳闻,不如学着试下?
Go作为后起之秀(2009年发布),又是谷歌的亲儿子(有人称:跟着谷歌走,吃喝啥都有!),在现在的应用逐渐火热起来,不学习一下过不去。
一学之下才发现,Go真是有强大的语法基因!为什么这么说呢,因为在学习地过程中,很多语法都是学自javascript 、php 和 python 。比如函数的结构:
func MyEcho(yzj interface{}) {
fmt.Printf("yzj is of type %T\n", yzj)
}
我不提,你估计会认为这是javascript,因为和它是一模一样。里面还有一个参数的形式:...int这类的,可以接受不定数量的参数,在javascript 和go中居然是一样的!
再比如for循环:
php中是这样的:
for ($x=0; $x<=10; $x++) {
echo "数字是:$x <br>";
}
go中是这样的:
for i := 0; i < 10; i++ {
fmt.Println("数字是:", i)
}
php 和 go 的for循环也几乎是一模一样的!go有这么强大的基因,再加上一些新的设计和封装,强大的功能,很多其它的程序员转过来估计都不费劲吧。
go 和python也有很多相似的地方,我想,很多语言在本质上都是相通的。以前我们常听到有某某人精通五国语言之类的,不免为之惊叹,实在是因为我等学一门英语都学不过关,更别提还要学其它语言了。但是现在这种想法有所改变了,如果确实有人掌握了语言的核心构成,是不是可以触类旁通呢?
学了两天go语言,有很大的成就感,也有一些不同的反思。在以前我都觉得不太可能,学这么多语言估计也是学不下去吧。但现在我觉得多种语言其实在相互促进。在你学go的时候,你的python的功力其实也在进步。虽然在语法层面可能有所不同,但核心却是一致的。多学一门不会浪费你的精力,反而可以促进你的理解,这也算是这些天来的一点小小感悟吧。