初識Go語言

2022-09-16 04:51:12 字數 1585 閱讀 4607

一、go語言的主要特性:

①    開放源**的通用計算機程式語言。開放源**的軟體(以下簡稱開源軟體)更容易被修正和改進。

②    雖為靜態型別、編譯型的語言,但go語言的語法卻趨於指令碼化,非常簡潔。

③    卓越的跨平台支援,無需移植**。這裡的跨平台主要是指計算架構和作業系統。

④    全自動的垃圾**機制,無需開發者干預。go語言程式在執行過程中的垃圾**工作由go語言執行時系統負責。

⑤    原生的先進併發程式設計模型和機制。go語言擁有自己的獨特併發程式設計模型,其組成部分有goroutine(也可稱為go程)和channel(也可稱為通道)等。

⑥    擁有函式式程式設計正規化的特性,函式為一等**。go語言支援多種程式設計風格,包括物件導向程式設計和函式式程式設計。而對函式式程式設計的最有利的支撐就是go語言將函式型別視為了第一等型別。

⑦    無繼承層次的輕量級物件導向程式設計正規化。go語言中的介面與實現之間完全是非侵入式的。

⑧    內含完善、全面的軟體工程工具。go語言自帶的命令和工具相當的強大。

⑨    **風格強制統一。

⑩    程式編譯和執行速度都非常快。

⑪    標準庫豐富、及適合開發服務端和web程式。

二、go語言的優劣

①相對於c/c++來講,go語言擁有清晰的依賴管理和全自動的垃圾**機制,因此其**量大大降低,開發效率大大提高。

②相對於j**a來講,go語言擁有簡明的型別系統,函式式程式設計模型。因此其**塊更小更簡明、可重用性更高,並可在多核計算環境下更快的執行。

③對於php來講,go語言更具有通用性和規範性。這使得其更適合構建大型的軟體,並能夠更好的將各個模組組織在一起。在效能方面,php不可與go同日而語。

④對於python、ruby來講,go的優勢在於其簡明的語法、非侵入式和扁平化的型別系統和渾然天成的多正規化程式設計模型。與php一樣,python和ruby是動態型別的解釋型語言,這就意味著他們的執行速度會比靜態型別的程式語言慢很多。

總而言之,go語言對於當前大多數主流語言來講,最大的優勢在於具有較高的生產效率、現金的依賴管理和型別系統,以及原生的併發計算支援。因此,go語言自發布以來就收到了各個領域開發者的關注和青睞。現在,我們來客觀的看一下目前go語言需要加強或改進的地方

①    從分布式計算角度來看,go語言的成熟度不及erlang(現在已經出現了一些這方面的go語言**包,我們已經可以看到光明的未來了)

②    從程式執行速度的角度來看,go語言雖然與j**a不相上下,但還不及c(差距上正在不斷縮小)

③    從第三方庫的角度來看,go語言的庫數量還遠遠不及其他幾門主流語言(比如j**a、python、ruby等)。不過與go語言的年紀相比,用它實現的第三方庫已經相當多了,並且他們的數量在持續的增長中。

另外,在更深的層面,go語言標準庫中也有些不盡如人意的地方。具體如下。

①    從語法角度來看,go語言語法的語法糖並不多。另外,變數賦值方式多的有點兒累贅了。

②    從併發的角度來看,go語言提供的併發模型很強大,但也有一些編寫規則需要了解。否則,容易踩進「坑里」。

雖然go語言還有一些瑕疵,但從整體來看,他已經是一門非常優秀的通用程式語言了。並且,go語言在今後的發展上會關注效能、可靠性、可移植性和一些功能增強。

Go語言 初識

go是乙個開源的程式語言。用途可以做web 開發,也可以做遊戲開發。高效能分布式系統領域,支援高併發。體驗寫乙個簡單的go程式 go語言的副檔名是 go 檔案。新建乙個test.go檔案package main import fmt func main 執行 go run test.go輸出hell...

初識go語言

恢復內容開始 初識go語言 入手一門新的語言,由於有python的基礎,可能會比較簡單點,畢竟各種程式語言之間是相通的 首先是當然是所以語言的第乙個程式,檔名的字尾是 go 這裡就不介紹go所需要的環境配置了 package main import fmt func main 一些簡單的東西,也不說...

初識Go語言 1

go 語言簡介1.go語言是乙個開源的程式語言,它能很容易的構造簡單 可靠 高效的軟體 2.go是從2007年末由robert griesemer,rob pike,ken thompson 主持開 發,後來還加入了ian lance taylor,russ cox 等人,並最終於2009年11月開...