日记大全

日记大全 > 句子大全

Go语言(基本语法)

句子大全 2023-12-02 02:19:01
相关推荐

环境

Go版本:go version go1.16.3 linux/amd64

OS版本:Linux kaisawind-z2 5.10.30-1-MANJARO #1 SMP Wed Apr 14 08:07:27 UTC 2021 x86_64 GNU/Linux

問天地好在

学习语言的第一步,“Hello World”。

吾有一數。曰三。名之曰「甲」。 為是「甲」遍。吾有一言。曰「「問天地好在。」」。書之。云云。

上面是文言文编程语言,输出三遍“Hello World”的语法。

各种编程语言是共通的,学会一种语言其它语言也就学会了,同样我们可以通过比较不同的语言来学习其中一种语言。

现在我们通过比较Go/C/Rust的“Hello World”了解它们之间的区别。

Go

C

Rust

三种语言都是以main函数作为程序的开始。而Go语言的包名必须是main。

变量赋值

三种语言的变量赋值基本相同。Go和Rust能够自动推导变量类型,所以可以省略类型。同时Go可以使用":="进行更省略的写法(var a = 0),在实际使用中会节省很多代码。

Go

C

Rust

流程控制

三种语言流程控制语句已经开始出现区别。

C语言作为古老的语言,完全符合编程语言的标准,不能多一个字符,也不能少一个标点。Go语言开始支持switch下的多条件判断,简化了很多代码。Rust作为新兴语言,Get到了开发者的疼点,使用match大大简化了代码和逻辑。

注意:Go语言中switch默认是带break的,如果想顺序执行,需要在case块中加fallthrough。

Go

C

Rust

循环语句

循环语句三种语言区别不大。但是在循环数组等迭代数据时,区别会比较大。

Go语言有for .. range ..简化代码,Rust更能大大简化代码。

Go

C

Rust

面向对象

三种语言在面向对象编程时,会有非常大的区别。

Go和C语言设计之初是面向过程的语言,而Rust语言在设计时就有面向对象编程,所以Go和C比较类似。

相较与C语言完全面向过程,Go语言确实有存储对象状态的函数,但也仅限于此。Go缺少面向对象的重载,继承等用法。

Go

C

Rust

结束语

一种语言学会变量赋值,流程控制,循环语句,面向对象编程及其函数调用,这种语言基本就学会了。

Go语言作为旧时代最后的产物,相比C/C++确实有很大的改进,但仍然不是新时代的语言。语言层面的设计,很大程度上是改进,简化或者破弃C/C++不好的特性,特性增加方面没有很大的突破。

Go语言作为跨平台跨架构,面向微服务方面的语言,当前是完全够用,且值得学习的。

在现代docker兴起,并且Linus为Linux添加binfmt特性之后,使得docker能够启动跨架构的容器。基于此,跨平台跨架构变成非常简单的一件事情,而作为跨平台跨架构的Go语言也会有长足发展。

下面是“文言文編程語言”的序,能很好的反映当前编程语言的现状。

夫唐、虞之世,結繩而足治,屈指而足算。是時豈料百代之後,計算機械之巧,精於公輸之木鳶,善於武侯之流馬;程式語言之多,繁若《天官》之星宿,奇勝《山經》之走獸。鼠、蟹、鑽、魚,或以速稱。蛇、象、駱、犀,各爭文采。方知鬼之所以夜哭,天之所以雨粟。然以文言編程者 ,似所未有。此非文脈之所以傳,文心之所以保。嗟予小子,遂有斯志。然則數寸之烏絲猶覆於頭,萬卷之素書未破於手;一身長羈於遠邦,兩耳久曠于雅言。然夫文章者吾之所宿好,程式者偶承時人之謬譽。故希孟不慚年少,莊生不望無涯。乃作斯言。未能嘔瀝長吉之心血,亦庶幾免於義山之流沫。既成之後,復學干將鑄劍而自飼,越王嚐糞而當先。自謂偶追《十書》之筆意,但恨少八家之淋漓。此子山所謂士衡撫掌而甘心,平子見陋而固宜。然則雖實覆甕之質,尚存斧正之望;雖乏呂相之金,易字之渴蓋同。此亦開源之大義,吾輩之所以勉勵也。一笑。

想了解更多精彩内容,快来关注李甲醇

阅读剩余内容
网友评论
相关内容
拓展阅读
最近更新