編寫 Hello World

編寫 Hello World

創(chuàng)建文件 hello.go,不寫入任何內(nèi)容。按照如下的命令嘗試進(jìn)行編譯

$ go run hello.go 

將會(huì)打印出如下錯(cuò)誤:

package main: 
hello.go:1:1: expected 'package', found 'EOF'

在Go語言中,所有文件必須隸屬于某一個(gè)包。當(dāng)前,只需要理解在文件的頭部聲明一個(gè)package name就可以了,其中package為關(guān)鍵字,name為你自己起的一個(gè)包名字。
在大型的程序中,包可以很好的有條理的組織各種功能。
例如,如果你想寫一個(gè)關(guān)于交通工具的虛擬模型,你應(yīng)該把所有屬于car的模型放入一個(gè)叫做cars的包中,把所有屬于bus的模型放入buses的包中。
組織相關(guān)的功能只是包的一種用途。
現(xiàn)在讓我們在剛剛創(chuàng)建的hello.go文件中添加一條語句,之后重新執(zhí)行運(yùn)行命令
內(nèi)容:

package main

執(zhí)行后,會(huì)打印如下錯(cuò)誤:

runtime.main_main·f: relocation target main.main not defined
runtime.main_main·f: undefined: "main.main"

Go程序啟動(dòng)時(shí),需要在文件中有一個(gè)可標(biāo)識入口。就像汽車必須有一把啟動(dòng)點(diǎn)火的鑰匙、電腦需要有一個(gè)開機(jī)鍵,Go程序中需要有一個(gè)main函數(shù)。
在hello.go文件中添加另外一行,并且重試
內(nèi)容:

package main
func main(){}

執(zhí)行命令go run hello.go
程序正確執(zhí)行,但是由于我們沒有做任何其它操作,程序很快就退出了。
到目前為止,我們已經(jīng)創(chuàng)建了自己的第一個(gè)程序。雖然沒啥功能,但是已經(jīng)可以正常運(yùn)行了。
讓我們繼續(xù)添加一行
內(nèi)容:

package main
func main(){
    Println("hello world")
}

運(yùn)行,將會(huì)打印如下錯(cuò)誤

./hello.go:4:2: undefined: Println

Println是向屏幕輸入內(nèi)容。執(zhí)行命令之后,編譯器報(bào)未定義。
為什么呢?
這里我們就需要用到包了。像Println這樣的函數(shù)存放在某些包中。然而,當(dāng)前這些包由于我們沒有主動(dòng)引入,但不能使用。如果我們需要使用這些包中的功能,首先需要import它們。
函數(shù)Println和其它讀寫文本和字符的函數(shù),都存放在一個(gè)叫做fmt的包中——formatting的縮寫。
我們再添加幾行代碼:

package main

import "fmt"

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

運(yùn)行程序go run hello.go ,輸出如下:

hello world

我們只是在package下面添加了一個(gè)import語句,第一個(gè)Go程序已經(jīng)正常運(yùn)行了。import之后,Println可以通過 包名.的方式進(jìn)行調(diào)用。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 在之前一章,我們已經(jīng)用eclipse工具編譯運(yùn)行了一遍Hello World,現(xiàn)在我們再用記事本編譯一邊Hello...
    劉書生閱讀 4,466評論 0 0
  • 簡述 為了避免Android平臺(tái)和IOS平臺(tái)的重復(fù)開發(fā),對于性能要求不太高的應(yīng)用可以采用React Native進(jìn)...
    石小泉閱讀 485評論 0 0
  • 編寫HTTP模塊 幾個(gè)重要組成部分ngx_command_t 數(shù)組對于我們在nginx.conf 中編寫的配置項(xiàng) ...
    Spike_3154閱讀 2,650評論 0 1
  • 2038-12-24,23:50 陳松石俯身把胸前的工卡往公共飛行器出口刷,沒等閘門全開就沖了出去。 滿街的櫥窗已...
    根夢閱讀 401評論 0 1
  • 《功夫》這部電影,已經(jīng)是耳熟能詳?shù)牧?。能做到耳熟能詳必然要看很多遍,那么,這個(gè)電影,究竟詮釋了什么? ...
    岳津冉050107閱讀 363評論 0 0

友情鏈接更多精彩內(nèi)容