入門當(dāng)然還是helloworld,順便了解基本結(jié)構(gòu)
我們的go程序擴(kuò)展名都是.go文件,我們先推薦下程序目錄。也不是嚴(yán)格限制
目錄結(jié)構(gòu)推薦gocode/src/,然后src下又有project1,projectxx,序號(hào)區(qū)分,projectx下面又有main,package目錄層級(jí),main放代碼,package放額外的包,如下

我們看到如上的代碼,main文件夾下創(chuàng)建main.go文件,里面編寫內(nèi)容
首行package main是聲明文件main.go的所屬包,所有的go文件都必須開頭聲明其所屬,這個(gè)之前講過
import "fmt"是導(dǎo)入fmt包,其包含標(biāo)準(zhǔn)輸入輸出格式化的方法,注意是雙引號(hào)
func main是定義了個(gè)main方法,無參,里面調(diào)用fmt的Print方法,注意是首字母大寫,內(nèi)容也是雙引號(hào),和java類似。但是go文件語句不加;結(jié)尾,都是靠縮進(jìn)調(diào)整,這點(diǎn)又跟python類似(取長(zhǎng)補(bǔ)短)
我們寫完了可以用go build main.go進(jìn)行編譯,會(huì)在當(dāng)前目錄上生成main.exe文件(windows),linux會(huì)生成無后綴可執(zhí)行文件(main)

我們選中window界面目錄,然后直接輸入cmd就可以實(shí)現(xiàn)當(dāng)前目錄進(jìn)入shell,我以前還是shift右鍵進(jìn)的powershell藍(lán)色界面,還是使用自帶的shell比較好。

如上,我們編譯后,就會(huì)生成exe文件,生成exe文件當(dāng)然就比較簡(jiǎn)單了,我們可使用輸入文件名執(zhí)行

如上,我們可以看到其執(zhí)行結(jié)果,就是我們想要的輸出HelloWorld!

當(dāng)然,我們還可以使用go run main.go,這種運(yùn)行是編譯加執(zhí)行一起做了,生產(chǎn)環(huán)境下,我們不推薦這種使用。我們使用go build生成的exe可以拿到?jīng)]有g(shù)o開發(fā)環(huán)境的機(jī)器去執(zhí)行,而go run xx.go需要有g(shù)o環(huán)境

我們還可以看到上圖,go文件本身不大,但是生成的exe文件就有一定大小,這是因?yàn)槲覀兙幾g后可執(zhí)行文件會(huì)把相關(guān)的依賴編譯進(jìn)去

當(dāng)然,我們還可以go build -o 可執(zhí)行文件名 xx.go來給我們的go程序生成我們要的exe文件,執(zhí)行效果一樣
對(duì)于編譯,如果我們代碼又錯(cuò)誤,就會(huì)顯示錯(cuò)誤行號(hào)和問題,我們修改代碼編譯運(yùn)行前記得使用vscode保存,否則沒有刷新進(jìn)去,效果如下

如上,我們就修改了函數(shù)名,當(dāng)然就沒有定義過,就會(huì)報(bào)undefined錯(cuò)誤

這里再簡(jiǎn)單說下vscode的設(shè)置,是preference首選項(xiàng),settings里編輯,如字體,我們可以調(diào)整,默認(rèn)的是14
開發(fā)注意事項(xiàng)
1 go的代碼文件必須以go結(jié)尾

如上,我們復(fù)制main.go文件,然后將其重命名成main.xx,我們go build會(huì)報(bào)錯(cuò)
2 go程序必須以main作為入口
這個(gè)沒什么說的,和java,c等是一樣的
3 go語言嚴(yán)格區(qū)分大小寫
也沒什么說的,該大寫就大寫,該小寫就小寫,不能混用
4 go每條語句不用加分號(hào)
之前講過,和python一樣,編譯器自動(dòng)加(加了也沒問題,但是不嫌麻煩嗎)
5 go一行只寫一個(gè)語句
不要把多行寫到一起

6 go里沒有用到的包或者變量,編譯不能通過
可能在java里,我們使用go開發(fā),即使沒有用到也不會(huì)編譯報(bào)錯(cuò),但是go不行

如上是我們導(dǎo)包沒有使用報(bào)的方法

如上,這個(gè)是定義變量卻沒有使用