> 因為最近很努力在學習terraform,然後golang好像很熱門又好用,所以開始我的學習之旅,這邊是 Part 1. # Introduction > 這邊我就列幾點 golang的特色吧! 1. Go語言的原本名稱為Go language,因此又稱golang。 2. Go是由Google開發的一個靜態編譯程式語言,支援垃圾回收與併發。 3. 可以編譯為原生機器碼,執行速度快,且內建垃圾回收機制(GC)。 4. 支援 Windows、macOS、Linux 等多種作業系統 5. 內建 goroutine(輕量級線程)和 channel,方便撰寫高效能的並行程序。 # 典型使用場景 > Go 特別適合撰寫高效能的 Web API 和微服務架構。由於語言原生支持並行處理,能輕鬆處理大量連線和請求。 ## 網路服務與後端開發 > Go 特別適合撰寫高效能的 Web API 和微服務架構。由於語言原生支持並行處理,能輕鬆處理大量連線和請求。 - Docker - Kubernetes - 大型後端服務 ## 分散式系統與雲端基礎架構 > Go 在雲端與容器生態系發展迅速,很多基礎架構工具都使用 Go 開發,原因是它的效能與易部署性。 - Terraform - Prometheus - Etcd(分散式鍵值儲存) ## 命令列工具與自動化 > Go 的編譯產出是單一二進位檔,非常方便發佈與使用,適合開發 CLI 工具或自動化腳本。 - Hugo(靜態網站產生器) - Cobra(建立 CLI 工具的框架) # Installation 1. Find the proper package for your device. {%preview https://go.dev/doc/install %} 2. Checkout your go version after installation ```bash go version ``` # 範例程式碼 ## Create a file named `main.go` ```go= package main import "fmt" func main(){ fmt.Print("Hello, World!") } ``` ## Execute the file. ```bash go run main.go ``` You should see this result:  ## 範例程式碼逐行解釋 ```go package main ``` - 這行定義了這個程式所在的「套件」(package)名稱叫做 main。 - main 是特殊的套件名稱,代表這是一個可執行程式(executable program),**執行時會從 main 函式開始執行**。 ```go import "fmt" ``` - 這行是匯入Go 的標準函式庫 fmt(format),這個函式庫很常用。 - fmt 提供輸入輸出功能,例如印出文字到終端機。 ```go func main(){ ``` - 宣告一個名為 main 的函式,是程式的進入點,因為前面的package宣告main。 - 執行 Go 程式時,系統會從 main.main() 函式開始執行。 ```go fmt.Print("Hello, World!") ``` - 呼叫 fmt 套件的 Print 函式,把字串 "Hello, World!" 輸出到終端機。 - Print 不會自動換行,所以文字後面沒有換行符號。 ```go } ``` - 結束 main 函式的區塊。 # 套件(Package) > 有沒有很疑惑套件是什麼呢? - Package 是 Go 程式碼組織的最小單位,一個 package 內包含一組相關的程式檔案(.go),共同完成某個功能或一組功能。 - 每個 Go 程式檔案的最上方都必須宣告 package 名稱。 - Package 幫助將程式碼模組化與封裝,讓不同功能可以分開管理與重複使用,可以透過 import 引入其他 package 使用其功能。 - 控制程式碼的可見性(包內可見、包外不可見)。 ## 簡單的範例 ```go= // hello.go package greeting func SayHello() string { return "Hello, Go!" } ``` ```go= import "your_module_path/greeting" func main() { fmt.Println(greeting.SayHello()) } ``` # 如何編譯成執行檔 ```bash go build hello.go ``` - Go 會將 hello.go 原始碼檔案編譯成一個執行檔,名稱為 hello(在 Linux 或 macOS 上)或 hello.exe(在 Windows 上),並且會放在目前的目錄中。 - 這個執行檔是獨立的二進位檔,也就是說它包含了所有必要的程式碼和依賴,可以獨立執行,不需要在該機器上安裝 Go 環境。 - 編譯完成後,你可以透過輸入以下指令來執行它: ```bash ./hello ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up