GO語(yǔ)言基礎(chǔ)入門(mén)第一個(gè)go程序解讀

1. 編寫(xiě)HelloWorld
//filename: hello.go
package main
import "fmt"
func main(){
fmt.Println("hello world!")
}
2. 執(zhí)行g(shù)o程序
執(zhí)行g(shù)o程序由幾種方式
方式一:使用go run命令
step1:打開(kāi)終端:
step2:進(jìn)入hello.go所在的目錄
step3:輸入go run hello.go命令并觀察運(yùn)行結(jié)果。
方式二:使用go build命令
【需要配置GOROOT、GOPATH,創(chuàng)建文件夾src、hello】
step1:打開(kāi)終端:在任意文件路徑下,運(yùn)行: go install hello 【hello表示hello文件夾,不是hello.go】
也可以進(jìn)入項(xiàng)目(應(yīng)用包)的路徑,然后運(yùn)行: go install
step2:運(yùn)行g(shù)o程序 在F:/gowork/bin下(如果之前沒(méi)有bin目錄則會(huì)自動(dòng)創(chuàng)建),會(huì)發(fā)現(xiàn)出現(xiàn)了一個(gè)hello的可執(zhí)行文件,用如下命令運(yùn)行: ./hello
注意,在編譯生成go程序的時(shí),go實(shí)際上會(huì)去兩個(gè)地方找程序包: GOROOT下的src文件夾下,以及GOPATH下的src文件夾下。在程序包里,自動(dòng)找main包的main函數(shù)作為程序入口,然后進(jìn)行編譯。

3. 代碼解讀
- go語(yǔ)言用「包」來(lái)組織代碼,一個(gè)項(xiàng)目下只有一個(gè)main函數(shù), 代碼開(kāi)始部分的 package main指明這個(gè)文件屬于哪個(gè)「包」。名為main的包比較特殊,它用來(lái)定義一個(gè)獨(dú)立的可執(zhí)行程序?!疽粋€(gè)項(xiàng)目下只有一個(gè)main函數(shù)】
- import 告訴編譯器此源文件需要倒入那些包, 必須精確地導(dǎo)入所需要的包, 不能少導(dǎo),同時(shí)也不能多導(dǎo)。這點(diǎn)跟C語(yǔ)言不同, C語(yǔ)言可以導(dǎo)入不用的頭文件, 而Go是不可以的, 編譯不過(guò)?!緦?dǎo)入你需要使用的包,變量的使用也是一樣,定義你一定會(huì)使用的,不然編譯不通過(guò)】
- Println 表示 會(huì)根據(jù)你輸入格式原樣輸出并換行**【首字母大寫(xiě),表示public方法,小寫(xiě)表示private方法,變量名大小寫(xiě)很?chē)?yán)格】
- func關(guān)鍵字定義了一個(gè)函數(shù)。
- main 函數(shù)是每一個(gè)可執(zhí)行程序所必須包含的,一般 來(lái)說(shuō)都是在啟動(dòng)后第一個(gè)執(zhí)行的函數(shù)。
- Go語(yǔ)言不需要在語(yǔ)句后面用分號(hào)結(jié)尾?!酒鋵?shí)不是沒(méi)有分號(hào),編譯器會(huì)自動(dòng)將分號(hào)插入到標(biāo)記流中非空白行的末尾】
- 大括號(hào)的 "{"必須與func在同一行。不能另起一行?!痉駝t報(bào)錯(cuò),這和C語(yǔ)言不一樣,代碼風(fēng)格統(tǒng)一了】
- Go語(yǔ)言的注釋和C語(yǔ)言一樣, 用 // 注釋一行, 用/**/注釋多行。
4.總結(jié)
- 一個(gè)項(xiàng)目下只有一個(gè)main函數(shù)
- 導(dǎo)入你需要使用的包,變量的使用也是一樣,定義你一定會(huì)使用的,不然編譯不通過(guò)
- 語(yǔ)句其實(shí)不是沒(méi)有分號(hào),編譯器會(huì)自動(dòng)將分號(hào)插入到標(biāo)記流中非空白行的末尾大
- 括號(hào)的 "{"必須與func在同一行。不能另起一行
以上就是GO語(yǔ)言基礎(chǔ)入門(mén)第一個(gè)go程序解讀的詳細(xì)內(nèi)容,更多關(guān)于Go語(yǔ)言程序解讀的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Go語(yǔ)言fmt庫(kù)詳解與應(yīng)用實(shí)例(格式化輸入輸出功能)
fmt庫(kù)是Go語(yǔ)言中一個(gè)強(qiáng)大而靈活的庫(kù),提供了豐富的格式化輸入輸出功能,通過(guò)本文的介紹和實(shí)例演示,相信你對(duì)fmt庫(kù)的使用有了更深的理解,感興趣的朋友一起看看吧2023-10-10
go實(shí)現(xiàn)for range迭代時(shí)修改值的操作
這篇文章主要介紹了go實(shí)現(xiàn)for range迭代時(shí)修改值的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04
go程序中同一個(gè)包下為什么會(huì)存在多個(gè)同名的函數(shù)或變量(詳細(xì)解析)
這篇文章主要介紹了go程序中同一個(gè)包下為什么會(huì)存在多個(gè)同名的函數(shù)或變量(詳細(xì)解析),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-05-05
通過(guò)函數(shù)如何將golang?float64?保留2位小數(shù)(方法匯總)
這篇文章主要介紹了通過(guò)函數(shù)將golang?float64保留2位小數(shù),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-08-08
Golang收支記賬程序詳細(xì)編寫(xiě)過(guò)程
這篇文章主要介紹了Golang實(shí)現(xiàn)收支記賬程序流程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2022-12-12

