Go語言的第一行代碼

 閱讀大約需要1分鐘

Go語言的第一行代碼

前一篇文章我們介紹了為什麼要學習Go語言,本篇文章我們來編寫Go語言的第一行代碼。

在編寫代碼之前,我們首先需要安裝Go語言的開發環境,可以從谷歌國內的官方網站golang.google.cn/dl/下載安裝包,根據你使用的操作系統下載對應的安裝包。前一篇文章提到過Go語言是跨平台的,所以Go語言各個平台有不同的安裝包,一定要看好你使用的操作系統,而且同一個平台根據CPU型號的不同又分為386、amd64、 arm架構。

使用windows系統的同學建議下載後綴為msi的安裝程序,不建議沒有經驗的同學下載zip包,zip包不需要安裝,但是需要手動配置環境變量,可以根據自己的喜好選擇下載。

使用mac系統的同學除了可以下載安裝程序包以外,還可以使用mac系統的軟件包管理器brew下載,使用brew來安裝Go比較簡單,執行如下命令即可

brew install go

使用linux發行版的同學,由於linux發行版本較多,不同的發行版包管理器不同,可以根據自己使用的發行版自帶包管理器來安裝下載。

Go語言編譯器安裝好後,在命令行

輸入以下命令

go version

如果正常輸出Go語言版本,如下面mac系統輸出

go version go1.21.0 darwin/amd64

說明安裝成功。

接下來我們來開始編寫Go語言的第一行代碼。

新建文件夾hello,進入文件夾hello,執行如下命令:

go mod init example/hello

會創建go.mod文件,go.mod是golang管理依賴的工具後面會具體介紹。

創建一個文件hello.go,輸入以下代碼:

package main

import "fmt"

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

讓我們來看一下每個部分的含義:

  • package main:這是一個包聲明,它告訴編譯器這個文件屬於main包。

  • import “fmt”:這是一個導入語句,它導入了fmt包,該包提供了格式化輸入輸出的函數。

  • func main():這是程序的入口函數,它是程序執行的起點。

  • fmt.Println(“Hello, World!"):這是一個函數調用,它調用了fmt包中的Println函數,並傳遞了一個字符串參數"Hello, World!"。 Println函數會將該字符串打印到標準輸出。

所以,這段代碼的作用是在控制台輸出"Hello, World!"。

執行以下命令運行程序,

go run hello.go

可以看到輸出結果

Hello, World!

至此,Go語言的第一個程序就完成了。

用go run命令可以直接運行程序,類似動態語言如python,一般Go語言都是編譯之後在執行。我們可以使用go build hello.go命令編譯程序,之後會生成一個可執行程序。

我們可以看到生成了一個可執行的程序,在macOS上大小是1.9M,這個簡單的Hello, World!的程序大小和C語言相比的確是太大了。 go build編譯默認包含調試信息和符號表信息,我們可以添加標識去掉這些信息,可以使用如下命令編譯

go build -ldflags "-w -s" hello.go

執行之後我們可以看到生成的文件大小變為了1.3M。

由於Go語言在生成可執行文件時包含了運行時,所以Go語言生成的可執行文件相比C語言的程序是比較大的,C語言Hello, World!程序的大小是49k。

Go語言的第一行代碼就介紹到這裡!