go是解释型语言还是编译型语言(深度解密Go语言之反射)
推薦:《golang教程》
Go(又稱 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 開發(fā)的一種靜態(tài)強(qiáng)類型、編譯型語言。Go 語言語法與 C 相近,但功能上有:內(nèi)存安全,GC(垃圾回收),結(jié)構(gòu)形態(tài)及 CSP-style 并發(fā)計(jì)算。
Go(又稱Golang)是Google開發(fā)的一種靜態(tài)強(qiáng)類型、編譯型、并發(fā)型,并具有垃圾回收功能的編程語言。
羅伯特·格瑞史莫(Robert Griesemer),羅勃·派克(Rob Pike)及肯·湯普遜(Ken Thompson)于2007年9月開始設(shè)計(jì)Go,稍后Ian Lance Taylor、Russ Cox加入項(xiàng)目。Go是基于Inferno操作系統(tǒng)所開發(fā)的。Go于2009年11月正式宣布推出,成為開放源代碼項(xiàng)目,并在Linux及Mac OS X平臺(tái)上進(jìn)行了實(shí)現(xiàn),后來追加了Windows系統(tǒng)下的實(shí)現(xiàn)。在2016年,Go被軟件評(píng)價(jià)公司TIOBE 選為“TIOBE 2016 年最佳語言”。 目前,Go每半年發(fā)布一個(gè)二級(jí)版本(即從a.x升級(jí)到a.y)。
Go的語法接近C語言,但對于變量的聲明有所不同。Go支持垃圾回收功能。Go的并行模型是以東尼·霍爾的通信順序進(jìn)程(CSP)為基礎(chǔ),采取類似模型的其他語言包括Occam和Limbo,但它也具有Pi運(yùn)算的特征,比如通道傳輸。在1.8版本中開放插件(Plugin)的支持,這意味著現(xiàn)在能從Go中動(dòng)態(tài)加載部分函數(shù)。
與C++相比,Go并不包括如枚舉、異常處理、繼承、泛型、斷言、虛函數(shù)等功能,但增加了 切片(Slice) 型、并發(fā)、管道、垃圾回收、接口(Interface)等特性的語言級(jí)支持。Go 2.0版本將支持泛型,對于斷言的存在,則持負(fù)面態(tài)度,同時(shí)也為自己不提供類型繼承來辯護(hù)。
不同于Java,Go內(nèi)嵌了關(guān)聯(lián)數(shù)組(也稱為哈希表(Hashes)或字典(Dictionaries)),就像字符串類型一樣。
撰寫風(fēng)格
在Go中有幾項(xiàng)規(guī)定,當(dāng)不匹配以下規(guī)定時(shí)編譯將會(huì)產(chǎn)生錯(cuò)誤。
1.每行程序結(jié)束后不需要撰寫分號(hào)(;)。
2.大括號(hào)({)不能夠換行放置。
3.if判斷式和for循環(huán)不需要以小括號(hào)包覆起來。
Go亦有內(nèi)置gofmt工具,能夠自動(dòng)整理代碼多余的空白、變量名稱對齊、并將對齊空格轉(zhuǎn)換成Tab。
以上就是go是解釋型語言還是編譯型語言的詳細(xì)內(nèi)容,更多請關(guān)注風(fēng)君子博客其它相關(guān)文章!
總結(jié)
以上是生活随笔為你收集整理的go是解释型语言还是编译型语言(深度解密Go语言之反射)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: word如何剪切图片多余部分(如何使用w
- 下一篇: 汇元银通是个什么平台(专业IT技术发表平