聊聊Golang的語(yǔ)言結(jié)構(gòu)和變量問(wèn)題
一、語(yǔ)言結(jié)構(gòu)和注意事項(xiàng)
package main // 聲明 main 包,表明當(dāng)前是一個(gè)可執(zhí)行程序 import "fmt" // 導(dǎo)入內(nèi)置的fmt包 func main(){ // main函數(shù),是程序執(zhí)行的入口 fmt.Println("Hello World!") // 在終端打印 Hello World! }
需要注意的是包裹代碼的左大括號(hào){
在Golang中不能單獨(dú)成為一行,例如下面這樣:
func main() { // 會(huì)報(bào)錯(cuò) fmt.Println("Hello World!") // 在終端打印 Hello World! }
除此之外,Golang每行的代碼結(jié)尾不需要加;
號(hào),這跟python是一樣的
二、Golang的執(zhí)行和打包
示例代碼
package main // 聲明 main 包,表明當(dāng)前是一個(gè)可執(zhí)行程序 import "fmt" // 導(dǎo)入內(nèi)置的fmt包 func main(){ // main函數(shù),是程序執(zhí)行的入口 fmt.Println("按回車鍵退出:") fmt.Scanln()// 按回車鍵退出 }
- 通過(guò)點(diǎn)擊goland編輯器右上角【綠色三角按鈕】進(jìn)行執(zhí)行
- 通過(guò)命令
go run go代碼文件
- 打包為可執(zhí)行文件進(jìn)行執(zhí)行:
go build go代碼文件
三、Golang的變量
1. 定義變量
1)在golang中定義變量的一般形式是使用 var 關(guān)鍵字,例如定義一個(gè)名為a
的int類型變量:
var a int
但如果僅定義不使用該變量的話,執(zhí)行代碼會(huì)報(bào)錯(cuò),這跟Python是不同的:
.\test.go:7:6: a declared but not used
通過(guò)打印到終端的方式使用定義的變量a
:
package main // 聲明 main 包,表明當(dāng)前是一個(gè)可執(zhí)行程序 import "fmt" func main(){ // main函數(shù),是程序執(zhí)行的入口 var a int fmt.Println(a) }
輸出結(jié)果
0 //golang僅定義變量而未賦值的話,則初始值為假,(int為0,bool為false,string為‘')
2)也可以定義一個(gè)有初始值的變量:
var a int = 3
3)也可以同時(shí)定義多個(gè)變量:
var a, b int = 3, 4
4)也可以不指定類型:
var a, b = 3, 4
5)甚至不帶var
關(guān)鍵字的簡(jiǎn)潔定義 :
a, b, c := 3, 4,"c"
6)合并定義:
var ( a = 3 b = 4 )
2. 變量名規(guī)則
Golang變量名由字母、數(shù)字、下劃線組成,其中首個(gè)字符不能為數(shù)字,例如下面的代碼執(zhí)行就會(huì)報(bào)錯(cuò):
var 1a bool
報(bào)錯(cuò)輸出結(jié)果
unexpected literal 1, expecting name
到此這篇關(guān)于Golang的語(yǔ)言結(jié)構(gòu)和變量的文章就介紹到這了,更多相關(guān)Golang語(yǔ)言結(jié)構(gòu)和變量?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決GO編譯時(shí)避免引入外部動(dòng)態(tài)庫(kù)的問(wèn)題
最近碰到一個(gè)問(wèn)題,有一個(gè)流量采集的組件中使用到了github.com/google/gopacket 這個(gè)庫(kù),這個(gè)庫(kù)使用一切正常,但是唯獨(dú)有一個(gè)缺點(diǎn),編譯后的二進(jìn)制文件依賴于libpcap.so的動(dòng)態(tài)庫(kù),這篇文章主要介紹了GO編譯時(shí)避免引入外部動(dòng)態(tài)庫(kù)的解決方法,需要的朋友可以參考下2022-10-10詳解Go語(yǔ)言如何判斷兩個(gè)對(duì)象是否相等
在編程中,判斷兩個(gè)對(duì)象是否相等是一項(xiàng)常見(jiàn)的任務(wù),同時(shí)判斷對(duì)象是否相等在很多情況下都非常重要,所以在接下來(lái)的內(nèi)容中,我們將詳細(xì)介紹在?Go?語(yǔ)言中如何判斷對(duì)象是否相等的方法和技巧,需要的可以參考一下2023-06-06golang如何實(shí)現(xiàn)proxy代理簡(jiǎn)單方法
這篇文章主要給大家介紹了關(guān)于golang如何實(shí)現(xiàn)proxy代理簡(jiǎn)單方法的相關(guān)資料,Proxy是golang實(shí)現(xiàn)的高性能http,https,websocket,tcp,udp,socks5,ss代理服務(wù)器,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-10-10Go語(yǔ)言中實(shí)現(xiàn)打印堆棧的errors包的用法詳解
因?yàn)镚o語(yǔ)言提供的錯(cuò)誤太簡(jiǎn)單了,以至于簡(jiǎn)單的我們無(wú)法更好的處理問(wèn)題,所以誕生了很多對(duì)錯(cuò)誤處理的庫(kù),github.com/pkg/errors是比較簡(jiǎn)潔的一樣,本文就來(lái)聊聊它的具體用法吧2023-07-07go語(yǔ)言實(shí)現(xiàn)依賴注入的示例代碼
依賴注入和控制反轉(zhuǎn)恰恰相反,它是一種具體的編碼技巧,我們不通過(guò) new 的方式在類內(nèi)部創(chuàng)建依賴類的對(duì)象,而是將依賴的類對(duì)象在外部創(chuàng)建好之后,通過(guò)構(gòu)造函數(shù)、函數(shù)參數(shù)等方式傳遞給類來(lái)使用,本文將給大家介紹go語(yǔ)言實(shí)現(xiàn)依賴注入,需要的朋友可以參考下2024-01-01Go語(yǔ)言中一些不常見(jiàn)的命令參數(shù)詳解
這篇文章主要給大家介紹了關(guān)于Go語(yǔ)言中一些不常見(jiàn)的命令參數(shù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-12-12go-micro使用Consul做服務(wù)發(fā)現(xiàn)的方法和原理解析
這篇文章主要介紹了go-micro使用Consul做服務(wù)發(fā)現(xiàn)的方法和原理,這里提供一個(gè)通過(guò)docker快速安裝Consul的方式,當(dāng)然前提是你得安裝了docker,需要的朋友可以參考下2022-04-04