Go 語言簡介

一.Go發展史

想要了解一門語言,少不了他的發展史。編程

這裏簡單的介紹一下其歷史年度關鍵節點。安全

1.里程碑

Go 也叫 Golang服務器

  • 起源於2007年
  • 2009年首次公開發布
  • 2010年穀歌投入使用
  • 2011年被Google AppEngine支持
  • 2012年正式版Go1
  • 2015年發佈Go1.5,移除了「最後殘餘的C代碼」
  • 目前最新版本爲Go1.10

不得不說Go是一門很年輕的語言,是一個零零後。網絡

二.Go特色

咱們學習一門語言總歸是出於各類各樣的緣由的,他會是各式各樣的緣由。多線程

那既然如今我有了一個想要了解 Go 的一個意願,確定要先知道該語言有那些特點,或者說有那些吸引人的地方的說。併發

1.效率高

這裏寫圖片描述

— 圖片來自百度

Go 被譽爲「21世紀的 C 語言」。分佈式

正如 Go 語言的 Logo 這隻萌萌噠短腿兒囊地鼠的寓意同樣,Go 語言是很快速的,他的快速體如今兩個方面:函數

  1. 開發效率高
  2. 運行速度快

關於到底是選擇開發速度仍是執行速度這個問題,Go 選擇了折中,他即要開發速度,又要執行速度。學習

舉個青澀的栗子:碼的比 C / C++ 快 ,跑得比 Python 快,大體意思是對的,關於更詳細的差別須要深刻去了解。編碼

2.部署簡單

Go 不容許額外的引用,在其編譯後生成會生成可執行文件,幾乎不須要任何外部依賴

3.併發支持

Go 原生支持併發。

假如咱們用 C# (seaconch .net 出身)編寫一個多線程的項目,那麼咱們須要考慮東西會不少,編碼起來也會很繁瑣。

然而這些對於 Go 來講會是容易不少。

4.編碼體驗

Go 屬於靜態語言,是編譯型語言,但其構建速度很快,而且有大量的包可使用。

Go 語言的目標即:將靜態語言的安全性和高效性與動態語言的易開發性進行結合

5.代碼格式化

經過 Go 的格式化命令(gofmt),可使代碼風格保持統一化,便於閱讀。

6.UTF-8編碼

Go 徹底支持 UTF-8 ,Go 的源碼格式即 UTF-8。

7.GC

Go 已經擁有了垃圾回收機制

三.Go缺失

seaconch 已知列舉以下:

  • 不支持函數(方法)重載
  • 不支持隱式轉換
  • 不支持泛型
  • 不支持靜態變量

四.適用場景

根據 seaconch 查閱得出相對較多的場景爲:

  • 網絡編程
  • 分佈式編程
  • 服務器編程
相關文章
相關標籤/搜索