Go語言簡介

2021-02-23 gopher愛好者

一、Go語言由來

        Go語言亦叫Golong語言,是由谷歌Goggle公司推出。Go語言的主要開發者有:肯.湯姆遜(Ken Thompson)、羅布.派克(Rob Pike)和羅伯特.格裡澤默(Robert Griesemer)。這三個都是大神,稍介紹一下他們的貢獻:
肯.湯姆遜(Ken Thompson):圖靈獎得主,Uinx發明人,B語言作者(C語言前身),還做飛行員,後來被谷歌挖走。
羅布.派克(Rob Pike):Unix團隊和Plan 9作業系統計劃的成員,與Ken老爺子共事多年,並共創出廣泛使用的UTF-8 字元編碼。
羅伯特.格裡澤默(Robert Griesemer):曾協助製作Java的HotSpot編譯器,和Chrome瀏覽器的JavaScript引擎V8。

二、開發Go語言的初衷

        根據Go語言開發者自述,近10多年,從單機時代的C語言到現在網際網路時代的Java,都沒有令人滿意的開發語言,而 C++往往給人的感覺是,花了100%的經歷,卻只有60%的開發效率,產出比太低,Java和C#的哲學又來源於C++。並且,隨著硬體的不斷升級,這些語言不能充分的利用硬體及CPU。因此,一門高效、簡潔、開源的語言誕生了。

三、Go語言的特點

        Go語言保證了既能到達靜態編譯語言的安全和性能,又達到了動態語言開發速度和易維護性,有人形容Go語言:Go = C + Python , 說明Go語言既有C靜態語言程序的運行速度,又能達到Python動態語言的快速開發。


Go語言有以下特性:

    1.自動垃圾回收

    C/C++最頭疼的就是指針問題,一不小心就野指針了或者又越界了。在Go語言裡再也不用擔心,也不

   用考慮delete或者free,系統自動會回收。

    2.函數可以多個值

    這個很神奇,大多數語言只能返回一個值,Go語言可以返回多個值。這個功能使得開發者再不用絞盡腦汁    的想到底怎麼返回值的設計,也不用為了傳值專門定義一個結構體。

    3.並發編程

    Go語言天然並發,只需要關鍵字「go」就可以讓函數並發執行,使得並發編程變得更為簡單,這也是Go語      言最大的優勢。

四、Go語言能做什麼開發

        Go語言是非常有潛力的語言,是因為它的應用場景是目前網際網路非常熱門的幾個領域,比如區塊鏈開發、大型遊戲服務端開發、分布式/雲計算開發。像Goggle、阿里、京東等網際網路公司都開始用Go語言開發自己的產品。

相關焦點

  • Go(Golang)語言和Rust語言哪個更有前途?
    )是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 開發的一種靜態強類型、編譯型語言。Go 語言語法與 C 相近,但功能上有:內存安全,GC(垃圾回收),結構形態及 CSP-style 並發計算。Go於2009年11月正式宣布推出,成為開放原始碼項目,並在Linux及Mac OS X平臺上進行了實現,後來追加了Windows系統下的實現。在2016年,Go被軟體評價公司TIOBE 選為「TIOBE 2016 年最佳語言」。
  • Go&WebAssembly簡介
    該文章根據【Go 夜讀】第 55 期 Go&WebAssembly 簡介 部分內容整理而成。https://github.com/developer-learning/reading-go/issues/445Ending定律Ending's Law: Any application that can be compiled to WebAssembly, will be compiled to WebAssembly
  • Go語言操作Redis(一)
    Go語言操作Redis(一)Redis 簡介
  • Go語言 | go version命令的高級用法
    $ go go version bin/bin/basic: go1.13bin/dlv: go1.13bin/fillstruct: go1.13bin/go-callvis: go1.13bin/go-outline: go1.13bin/go-symbols: go1.13bin/gocode: go1.13bin
  • Go 語言基礎入門教程 —— 第一個 Go 程序
    安裝完成後,通過 go version 查看 Go 語言的版本來驗證是否安裝成功,以 Mac 為例,對應的版本信息如下:對於 Windows 系統對應的版本信息如下(Windows 下建議通過 MSI 安裝器安裝):
  • Go語言入門教程(一)
    5、雲平臺,例如現目前很火爆的k8s 也是利用go語言進行開發完成 當然講了這麼多,那麼小編接下來針對Go語言為大家帶來go語言的入門到精通的編程系列教程。當然也是希望大家能夠勤學多練,一步一個腳印。總所周知,要學習任何一門語言,首先的就是要先安裝運行環境,當然go語言也不例外,首先我們需要下載Go語言的安裝包,如圖所示:
  • Go語言常見語法錯誤
    /main.go:6:6: one declared and not used./main.go:7:9: two declared and not used./main.go:4:2: imported and not used: "fmt"./main.go:5:2: imported and not used: "log".
  • 解讀 Go 語言的 2019:Go 語言不行了嗎?
    Go 語言目前所擅長的領域仍然在服務端的 Web 系統、API 網關、中間件、緩存系統,以及資料庫、容器技術和雲計算等方面。在這些方面,我們有非常多的框架可以選擇。其中最受歡迎的框架和軟體如下:Web 框架:Gin 、 Beego 、 Echo 等。微服務框架:go-kit 、 go-micro 等。
  • GO語言入門(go的基本類型)
    變量簡介聲明變量的一般形式是使用 var 關鍵字:var identifier type。需要注意的是,Go 和許多程式語言不同,它在聲明變量時將變量的類型放在變量的名稱之後。Go 為什麼要選擇這麼做呢?
  • Go語言錯誤總結(一)
    Go語言錯誤總結(一)1、開大括號不能放在單獨的一行在大多數其他使用大括號的語言中
  • Go語言的學習筆記(第一章)
    Go語言是Google開源的一門程式語言。編譯型的語言Go是一門編譯型的語言,那麼什麼是編譯型的語言呢?這裡是區別於解釋型的語言,如PHP,Python。那麼首先什麼是編譯型語言和解釋型語言?計算機是不能理解高級語言的,更不能直接執行高級語言,它只能直接理解機器語言,所以使用任何高級語言編寫的程序若想被計算機運行,都必須將其轉換成計算機語言,也就是機器碼。
  • Mac搭建Go語言環境
    Mac搭建Go語言環境1、下載安裝包 ( 據作業系統選擇相應Go語言版本 )下載地址:https://www.golangtc.com/download下載最新版本:go1.9.2.darwin-amd64.pkg2、打開此pkg文件 並跟隨提示來安裝Go工具
  • Windows搭建Go語言環境
    安裝:程序會自動配置你的安裝 2、ZIP安裝:需要你手動設置一些環境變量一、MSI安裝1、下載安裝包(根據作業系統選擇相應Go語言版本)下載地址:https://www.golangtc.com/download 下載最新版本:go1.9.2.windows-386.msi2、打開此
  • 頂級程式語言之對比:Rust VS Go
    現如今新程式語言層出不窮,從如此多的程式語言中選擇一款最適合的變得相當困難。因此,我們在本文中將討論兩種最受開發者歡迎的程式語言:Rust和Go語言。除了介紹這語言外,還會比較兩種語言之優缺點。 根據數據和研究,發現大約74.5%的開發人員喜歡和點讚Rust程式語言,從面世以來,使用Rust程式語言的項目越來越多。在2019年, Rust程式語言的使用量較前一年增長了 23%。
  • Go語言模糊搜索實驗
    這裡面我們介紹一下go語言的「Fuzzy Search」模糊匹配庫的用法,該庫靈活的對字符串進行配置,有助於輕量級用戶快速過濾數據。$GOPATH/src/golang.org/xcd $GOPATH/src/golang.org/x git clone https:git clone https:git clone https:git clone https:git clone https:git clone https:module fuzzySearch
  • 為什麼很多公司轉型 Go 語言開發?Go 語言能做什麼
    使用 Go 語言開發的開源項目非常多。早期的 Go 語言開源項目只是通過 Go 語言與傳統項目進行C語言庫綁定實現,例如 Qt、Sqlite 等;後期的很多項目都使用 Go 語言進行重新原生實現,這個過程相對於其他語言要簡單一些,這也促成了大量使用 Go 語言原生開發項目的出現。
  • Go語言進化史
    第一個版本已經有 go tool pprof 命令和 go vet 命令。go tool pprof 與 Google 的 pprof C++ profiler[3] 稍微有些差異。go vet(前身是 go tool vet)命令可以檢查包中潛在的錯誤。
  • 『GCTT 出品』6 款最棒的 Go 語言 Web 框架簡介
    介紹Go 是一門正在快速增長的程式語言,專為構建簡單、快速且可靠的軟體而設計。 點擊 此處 查看有哪些優秀的公司正在使用 Go 語言來驅動他們的業務。本文將會提供一切必要的信息來幫助開發人員了解更多關於使用 Go 語言來開發 Web 應用程式的最佳選擇。本文包含了最詳盡的框架比較,從流行度、社區支持及內建功能等多個不同角度出發做對比。
  • 為什麼大廠都在用 GO 語言?讀透 GO 語言的切片
    經筆者實地上手體驗,GO語言在並發等方面還是相當優秀的,下面筆者就匯報一下最新的成果。GO語言的切片簡介切片(slice)是對數組的一個連續片段的引用,所以切片是一個引用類型同,與Python 中的 list 類型比較類似,這個片段可以是整個數組,也可以是由起始和終止索引標識的一些項的子集
  • Go語言操作Redis(三)
    Go語言操作Redis(三)Go語言操作Redis除使用 github.com/garyburd