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命令并觀(guān)察運(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)文章
Goland 關(guān)閉自動(dòng)移除未使用的包操作
這篇文章主要介紹了Goland 關(guān)閉自動(dòng)移除未使用的包操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12Go實(shí)現(xiàn)字符串與數(shù)字的高效轉(zhuǎn)換
在軟件開(kāi)發(fā)的世界里,數(shù)據(jù)類(lèi)型轉(zhuǎn)換是一項(xiàng)基礎(chǔ)而重要的技能,尤其在Go語(yǔ)言這樣類(lèi)型嚴(yán)格的語(yǔ)言中,正確高效地進(jìn)行類(lèi)型轉(zhuǎn)換對(duì)于性能優(yōu)化和代碼質(zhì)量至關(guān)重要,本文給大家介紹了Go實(shí)現(xiàn)字符串與數(shù)字的高效轉(zhuǎn)換,需要的朋友可以參考下2024-02-02總結(jié)Go語(yǔ)言中defer的使用和注意要點(diǎn)
Go語(yǔ)言中的defer關(guān)鍵字實(shí)現(xiàn)比較特殊的功能,這篇文章給大家總結(jié)了關(guān)于Go語(yǔ)言中defer的使用和注意要點(diǎn),有需要的朋友們可以參考借鑒,下面來(lái)一起看看吧。2016-09-09goland 設(shè)置project gopath的操作
這篇文章主要介紹了goland 設(shè)置project gopath的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-05-05Go語(yǔ)言實(shí)現(xiàn)登錄驗(yàn)證代碼案例
這篇文章主要介紹了Go語(yǔ)言實(shí)現(xiàn)登錄驗(yàn)證代碼案例,代碼和圖文講解的很清晰,有感興趣的可以學(xué)習(xí)下2021-03-03Go語(yǔ)言定時(shí)任務(wù)cron的設(shè)計(jì)與使用
這篇文章主要為大家詳細(xì)介紹了Go語(yǔ)言中定時(shí)任務(wù)cron的設(shè)計(jì)與使用,文中的示例代碼講解詳細(xì),對(duì)我們深入掌握Go語(yǔ)言有一定的幫助,需要的可以參考下2023-11-11Go語(yǔ)言中io.Reader和io.Writer的詳解與實(shí)現(xiàn)
在Go語(yǔ)言的實(shí)際編程中,幾乎所有的數(shù)據(jù)結(jié)構(gòu)都圍繞接口展開(kāi),接口是Go語(yǔ)言中所有數(shù)據(jù)結(jié)構(gòu)的核心。在使用Go語(yǔ)言的過(guò)程中,無(wú)論你是實(shí)現(xiàn)web應(yīng)用程序,還是控制臺(tái)輸入輸出,又或者是網(wǎng)絡(luò)操作,不可避免的會(huì)遇到IO操作,使用到io.Reader和io.Writer接口。下面來(lái)詳細(xì)看看。2016-09-09