iT邦幫忙

2022 iThome 鐵人賽

DAY 1
3

本次 30 天鐵人賽挑戰均以「完全自學! Go 語言 (golang) 實戰聖經」本書為主,跟著裡面的練習,學習用自己也聽得懂的話說給大家聽。

Go 語言是什麼?

根據維基百科的說明

Go(又稱Golang)是Google開發的一種靜態強型別、編譯型、並發型,並具有垃圾回收功能的程式語言。

嗯嗯每個中文都看得懂,拼在一起都看不懂... 沒關係以下是白話文,以及對各個名詞淺略的介紹。

首先 Go 語言 ,(也可以稱作 Golang ),是一個由 Google 團隊開發,效能優越,可以拿來開發軟體的程式語言,其中特點為,編譯時納入記憶體安全性考量,且以通道 (channel) 為基礎的並行性 (concurrency) 運算。

靜態強型別:

靜態型別就是程式中必須明確的宣告物件或變數所屬的型別

  • 優點:
    編譯器能在編譯期間基於這個型別進行型別檢查,編譯過程中協助你檢查程式碼是否有型別錯用的情況。
  • 缺點:
    因為要多宣告型別,程式碼相對看起來不那麼簡潔。

強型別的語言遇到函式引數型別和實際叫用型別不符合的情況,是會直接出錯或者編譯失敗

編譯型:

編譯型語言是需要透過編譯器將程式碼編譯成電腦看得懂得語言,再加以執行。(就像是要先吃過翻譯蒟蒻翻譯啦!)

  • 優點:
    編譯語言因為已經在編譯期先編譯成機器看得懂的,所以可以直接執行,執行期會快於直譯型語言。
  • 缺點:
    前面有說到他編譯好了,啊何時編譯?就是開發期呀!因為開發時總是要先進行編譯,所以開發及除錯時,都需耗時較長。

並發型

並發型也可以稱作並行性 (concurrency) 運算,舉例來說:我一次只能算一題數學,但天才小明可以同時解兩題或以上的數學題目,並行性運算就是天才小明,可以同時進行多個運算,在高性能處理及大規模專案擴展性是強項。

垃圾回收功能

我們在撰寫程式的時候,有時會寫了一些其實沒有用到的程式碼,這都會多佔用記憶體空間,但垃圾回收功能,就是他可以根據演算法,來回收掉一陣子沒用到的程式碼,除了可以減輕寫程式著的負擔,更能減少程式中的錯誤!

為什麼要學 Go ?

首先剛剛上述有提到編譯型語言,開發期耗時較長的缺點, Go 在開發期間就考慮到這點,所以打造神速的編輯器,讓大家開發時期不會等到森77。
再來因為是 Google 團隊開發的,有堅強的靠山,不用擔心他哪天突然就宣布倒閉再也不維護了。

綜合以上兩點,快一起投入 Go 的懷抱吧~恭喜大家跟我一起開啟 Go 的大門,那我們明天開始學習如何安裝 Go 環境跟印出第一個 Hello World,明天見!


下一篇
DAY 2 Go 語言 環境安裝 印出 Hello World
系列文
跟著 Go 實戰聖經 一起自學 Go30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言