iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 1
2
Software Development

Go繁不及備載系列 第 1

# Day01 介紹-開門見GO法

Day01 介紹-開門見GO法

啊,一開門就見GO!真傷...
其實我不知道能不能撐過30天

介紹一下GO

  • Go語言(Go Language)又稱Golang,是Google在2009年推出的一個實驗性項目的程式語言,會出現這個語言的原因之一是因為Google工程師們不是那麼喜歡使用C++。

  • Go語言在2007年開始設計、2009年正式公開、2011年釋出v1.0版本,之後大約每半年的時間釋出下一個版本,如今已來到v1.15 (2020/08)。

  • Golang 一開始是由C語言編寫而成。執行程式需要經過編譯,為型別程式語言。
    跟C語言有點類似、也具有指標功能,如果有學過C語言的很容易上手。也有人說Go是現代版的C語言,冠上如此華麗的美稱。但無論如何,想用來取代C語言終究是有一定難度的。

  • 效能比Python好,但略比C差,然後常常被跟Rust比來比去。
    內建併發,很容易的就能寫出多線程程式。
    代表能榨乾CPU的資源,或者說是以最少的資源做最多的事、不浪費每顆CPU。

  • 跨平台、容易部署,內建垃圾回收機制。而且簡單易學。

  • 最大的重點是,GO語言 很潮

Go語言工程師化

Go語言有著一堆很估摸龜毛的特性與怪癖,
很適合孤僻的工程師們使用,稍微提一下幾個特點:

  1. 變數宣告了就要用!不然編譯器爆你錯!
  2. 套件import就要用!
  3. 大括號排版都要照格式
  4. 還有gofmt(go format)可以幫助排版,固定格式
  5. 變數字開頭大寫代表開放外界使用
  6. 充斥大量的 if err != nil{
    }
    判斷錯誤的方法。
    發生預期之外的事情就返回、跳出
    往下執行的程式是預期中的事情
  7. ...

等等,還沒完!
Google對於程式風格的講究,推了一大堆嚴謹的命名規範與慣例

反正人家Google是軟體界大佬,
大佬的建議、好的Coding習慣,多少就遵守唄。

Go可以幹嘛

簡而言之,Go語言穩定,也很容易上手,
工程師們寫出的程式碼風格較一致,
常被拿來架設伺服器以及網站後端。

除此之外,聽過Docker、Kubernetes嗎?
這兩個鼎鼎大名的容器專案是使用Go語言編寫的產物之一。
也可以看看在Github開源社區中的星星排名Go百大專案

喔,學Golang還能活口飯吃 重點是很大碗?
社群人數正往上攀升成長、成為最具前途及錢途的程式語言之ㄧ。

題外話

  • 這是Golang的吉祥物,是一隻地鼠,先記住他的樣子,
    因為之後會在很多地方看到他在挖洞讓你跳。
    GopherGo logo

  • 而開發Go程式的人通常就叫作Gopher
    長這樣或這樣,這大概就是你我現在的樣子。
    Gopher

尾聲

一本好的書籍內容編排不應過於沉悶,不應全盤談論晦澀的技術,
而是讓讀者看懂、看得下去,同時學習到新知、也能獲得成就感。

Go繁不及備載 一文成就感可能略顯不足,
但我盡量以無腦詼諧的筆調及範例來作說明,盼大家看得下去。


下一篇
# Day02 資源-Go欲善其事
系列文
Go繁不及備載35

尚未有邦友留言

立即登入留言