1. 程式人生 > >Golang初級系列教程-手把手編寫 Hello World

Golang初級系列教程-手把手編寫 Hello World

手把手編寫 Hello World

建立檔案 program1.go,不寫入任何內容。按照如下的命令嘗試進行編譯

cmd-prompt> go run program1.go

將會打印出如下錯誤:

package :
program1.go:1:1: expected 'package', found 'EOF'

Go語言中,所有檔案必須隸屬於某一個包。當前,只需要理解在檔案的頭部宣告一個package name就可以了,其中package為關鍵字,name為你自己起的一個包名字。
在大型的程式中,包可以很好的有條理的組織各種功能。
例如,如果你想寫一個關於交通工具的虛擬模型,你應該把所有屬於car

的模型放入一個叫做cars的包中,把所有屬於bus的模型放入buses的包中。
組織相關的功能只是包的一種用途,在後續文章中會講述更多內容。

現在讓我們在剛剛建立的檔案中新增一條語句,之後重新執行命令

program1.go內容

package main

執行之前的命令之後,會列印如下錯誤:

runtime.main: undefined: main.main

Go程式啟動時,需要在檔案中有一個可標識入口。就像汽車必須有一把啟動點火的鑰匙、電腦需要有一個開機鍵,Go程式中需要有一個main函式。

在檔案中新增另外一行,並且重試

program1.go內容

package
main func main() {}

執行命令go run program1.go

程式正確執行,但是由於我們沒有做任何其它操作,程式很快就退出了。

恭喜恭喜,到目前為止,我們已經建立了自己的第一個程式。雖然沒啥卵用,但是已經可以正常運行了。

讓我們繼續新增一行

program1.go內容

package main

func main() {
 Println("Hello world")
}

嘗試執行,將會列印如下錯誤

program1.go:4: undefined: Println

Println是向螢幕輸入內容。執行命令之後,編譯器報未定義。為什麼呢?可記得前面提到的包?對嘍,這裡我們就需要用到包了。像Println

這樣的函式存放在某些包中。然而,當前這些包由於我們沒有主動引入,但不能使用滴。如果我們需要使用這些包中的功能,首先需要import它們。這就像我們從海外購入汽車一樣一樣的。Ok,讓我們import試試。

函式Println和其它讀寫文字和字元的函式,都存放在一個叫做fmt的包中——formatting的縮寫

Go程式語言遵從短小精悍。如果你寫Java程式碼,你會以一個很長的命名方式進行定義。比如上面的formatting package會很正常的被叫做formatting。但是在Go語言中,就要打破這種常規,追求精簡。開始的時候,並不能適應這種模式,但是使用過一段時間之後,真尼瑪太棒了。程式碼變得簡潔了,閱讀起來更快了,奇怪的是也沒有降低可讀性。個人觀點哦~~~

至此,讓我們在新增幾行程式碼

package main

import "fmt"

func main() {
 fmt.Println("Hello world")
}

執行程式go run program1.go,輸出如下:

Hello world

哇哦,是不是很神奇,我們只是在package下面添加了一個import語句,第一個Go程式已經正常運行了。import之後,Println可以通過 包名.的方式進行呼叫。知道了吧,就這麼簡單。

Golang一種神奇的語言,讓我們一起進步