聊聊Golang的語言結(jié)構(gòu)和變量問題
一、語言結(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!
}
需要注意的是包裹代碼的左大括號{在Golang中不能單獨(dú)成為一行,例如下面這樣:
func main()
{ // 會(huì)報(bào)錯(cuò)
fmt.Println("Hello World!") // 在終端打印 Hello World!
}
除此之外,Golang每行的代碼結(jié)尾不需要加;號,這跟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()// 按回車鍵退出
}
- 通過點(diǎn)擊goland編輯器右上角【綠色三角按鈕】進(jìn)行執(zhí)行
- 通過命令
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
通過打印到終端的方式使用定義的變量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)鍵字的簡潔定義 :
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的語言結(jié)構(gòu)和變量的文章就介紹到這了,更多相關(guān)Golang語言結(jié)構(gòu)和變量內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決GO編譯時(shí)避免引入外部動(dòng)態(tài)庫的問題
最近碰到一個(gè)問題,有一個(gè)流量采集的組件中使用到了github.com/google/gopacket 這個(gè)庫,這個(gè)庫使用一切正常,但是唯獨(dú)有一個(gè)缺點(diǎn),編譯后的二進(jìn)制文件依賴于libpcap.so的動(dòng)態(tài)庫,這篇文章主要介紹了GO編譯時(shí)避免引入外部動(dòng)態(tài)庫的解決方法,需要的朋友可以參考下2022-10-10
golang如何實(shí)現(xiàn)proxy代理簡單方法
這篇文章主要給大家介紹了關(guān)于golang如何實(shí)現(xiàn)proxy代理簡單方法的相關(guān)資料,Proxy是golang實(shí)現(xiàn)的高性能http,https,websocket,tcp,udp,socks5,ss代理服務(wù)器,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-10-10
Go語言中實(shí)現(xiàn)打印堆棧的errors包的用法詳解
因?yàn)镚o語言提供的錯(cuò)誤太簡單了,以至于簡單的我們無法更好的處理問題,所以誕生了很多對錯(cuò)誤處理的庫,github.com/pkg/errors是比較簡潔的一樣,本文就來聊聊它的具體用法吧2023-07-07
go-micro使用Consul做服務(wù)發(fā)現(xiàn)的方法和原理解析
這篇文章主要介紹了go-micro使用Consul做服務(wù)發(fā)現(xiàn)的方法和原理,這里提供一個(gè)通過docker快速安裝Consul的方式,當(dāng)然前提是你得安裝了docker,需要的朋友可以參考下2022-04-04

