iT邦幫忙

2021 iThome 鐵人賽

DAY 2
0
自我挑戰組

30 天學 Golang?Go 啦哪次不 Go系列 第 2

Day2 # Hello World

在第一天完成安裝後,就可以使用 Go 來寫程式啦!
作為一個工程師,一定要來段 Hello World 跟世界問個好,那麼在開始前需要準備幾樣東西:

  1. 確定好自己安裝完成 Go,沒有的朋朋可以參考前一天
  2. 自己用習慣的編輯器(我是使用 VSCode)
  3. 雀躍的心心

如果都準備妥妥的,那我們就開始吧 ─=≡Σ(((っ゚∀゚)っ

Say Hello ?

首先,有分類強迫症的 Me 會準備一個專門放 Go 的檔案資料夾,而今天的目的是要來印出 Hello World,所以就在 ~/go 下建立一個 /go/HelloWorld 資料夾吧!

進入到 HelloWorld 後,建立一個 main.go 的檔案。

main.go 內完成下方這段程式碼:

package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

完成後儲存,並且在終端機執行 go run main.go,沒意外就能夠成功印出 Hello World,那麼今天的鐵人賽也順利完成啦~(´∀`)b

咦,根本什麼都還沒說吧...!!
讓我們倒帶回到上面的那段程式碼,來看看裡面我們到底做了什麼事吧。

什麼是 package

Go 的程式碼以 package 爲組織,相同 package 的檔案都會放在同個資料夾中。

剛剛寫到的 package main ,可以作為整個程式運作的主體,因為只有帶有 main package 的檔案可以被編譯及執行。

除此之外,每個 main package 都需要有個 func main 作為整個程式的進入點,並且無法被 import。

什麼是 import

import 能夠將別的 package / modules 內容引入到目前的這個 package 使用。

而剛剛用過的 fmt package 中的 fmt.Println() 就像 Ruby 的 print 一樣能夠在終端機上印出內容。

Commands

剛剛在終端機上執行了 go run main.go 就能夠順利印出我們要的資訊,但要講 go run 在幹嘛前,需要先知道 go build 幫忙做了什麼事情。

還記得講到 package 時,只有 package main 能夠被編譯及執行嗎?
go build 能夠將 package main 編譯成執行檔。要使用執行黨的話,只需要在終端機輸入 ./main 就能得到成果了。

go run 則是同時執行 go build + ./main 兩個指令。

$ go run main.go
=> Hello World

$ go build main.go
$ ./main
=> Hello World

結尾

第二天鐵人賽也正式結束,有任何指教也歡迎在下方留言 :)


上一篇
Day1 # Let's Go!
下一篇
Day3 # 資料型別
系列文
30 天學 Golang?Go 啦哪次不 Go20

尚未有邦友留言

立即登入留言