您好,登錄后才能下訂單哦!
這篇文章主要介紹“如何理解Go語言變量與基礎數據類型”,在日常操作中,相信很多人在如何理解Go語言變量與基礎數據類型問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何理解Go語言變量與基礎數據類型”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
一、基礎介紹
1、Go 的特性
2、Go 的常用命令
3、Hello Word
二、變量
1、定義方式
三、常量
四、基礎數據類型
1、數字
2、浮點型(小數,32/64表示小數點后長度多少位)
3、布爾(Bool)
4、字符串
Go 是靜態(編譯型)語言,是區別于解釋型語言的弱類型語言(靜態:類型固定,強類型:不同類型不允許直接運算)
例如 python
就是動態強類型語言
跨平臺的編譯型語言,交叉編譯
管道(channel
),切片(slice
),并發(routine
)
有垃圾回收機制
支持面向對象和面向過程的編程模式(Go 的面向對象沒有類的概念)
go env // go的環境變量 -GO111MODULE= // 空的,現在沒有使用MODULE模式 -GOPATH=C:\Users\oldboy\go // 代碼存放路徑 -GOROOT=c:\go // go sdk安裝路徑 go build // 編譯型語言,需要先編譯再執行,編譯成可執行文件,執行可執行文件 go run // 編譯并執行,開發階段用,兩步并作一步 go get // 下載并安裝包和依賴等同于pip install go version go fmt // 運行gofmt進行格式化(go fmt :自動將代碼格式)
// 單行注釋 /* 多行注釋 多行注釋 */ // Go(所有編譯型語言)項目要運行,必須有一個入口 // Go 的入口是 main 包下的 main 函數 // main 包下可不可以有多個 main 函數 package main // 聲明包名,包名是 main,每一個 Go 文件都屬于某個包 import "fmt" // 導入包,內置包 func main() { // 定義了一個main函數,大括號包裹是函數體的內容 fmt.Println("Hello World") // 打印函數等同與print() } // 編譯 go build s1.go // 執行 s1.exe // 編譯并執行 go run s1.go // 在goland中,右鍵,運行即可
go 語言的變量定義方式主要分為三種方式,并且不能重復定義。
方式一:全定義
// var 變量名 變量類型 = 變量值 package main import "fmt" func main() { var age int = 10 // 在go中,變量定義了就必須使用,如果不使用就報錯 fmt.Println(age) }
方式二:類型推導(類型就不需要寫了)
package main import "fmt" func main() { var age = 20 var name = "XiaoYang" fmt.Println(age, name) fmt.Printf("%T\n",name) // 查看變量類型 \n表示換行 fmt.Printf("%p",&name) // 查看變量內存地址 } // 輸出 20 XiaoYang string 0xc000056230
方式三:簡略聲明(類型和 var 關鍵字都不寫)
package main import "fmt" func main() { age := 20 var age int = 30 // 重復定義會報錯,不能重復定義 fmt.Println(age) }
其他定義方式:其他定義方式都是在前三種方式的基礎上做出變形而出現的:
只定義不賦值:
var age int // 定義變量,如果只定義不賦值,只能用這種方式 var age // 錯誤,無法判斷類型
聲明多個變量:
var width, height int = 100, 50 // 聲明多個變量 var width, height = 100, 50 // 聲明多個變量 var width, height = 100, "XiaoYang" // 聲明多個變量 width, height := 100, "XiaoYang" // 聲明多個變量
聲明多個變量,并賦初始值:
var ( name = "XiaoYang" age int = 20 height int ) fmt.Println(name, age, height)
注意:
var age int = 20 name, age := "XiaoYang", 21 // 這種情況不會報錯,我們覺得是重復定義,冒號左側只要有一個沒有定義過得變量就可以。 fmt.Println(name, age)
總結:
變量類型在定義階段就確定了,一旦確定,不允許改變
變量不可以重復定義
變量要先定義在使用
變量定義規范
變量命名建盡量使用駝峰(大小寫有特殊意義)
Go 文件命名建議用下劃線
一個名字必須以一個字母(Unicode
字母)或下劃線開頭,后面可以跟任意的字母、數字或下劃線
大寫字母和小寫字母是不同的:Name
和 name
是兩個不同的變量
關鍵字和保留字都不建議用作變量名
常量定義的定義使用 const
關鍵字定義,不允許改變
方式一:
package main import "fmt" func main() { const age int = 20 // 不允許修改,修改會報錯 fmt.Println(age) }
方式二:類型推導
package main import "fmt" func main() { const age = 20 fmt.Println(age) }
注意:不能使用 := 這種方式定義,這樣就是定義變量了
// 有符號整形 int: 在32位機器是int32,在64位機器是int64 int8: 表示整數范圍是:8個比特位,8個bit是1byte ,第一位表示正負數0/1, 所以是2的7次方-1 的范圍 int16: 2的15次方減一 int32: 2的32次方減一 int64: 2的64次方減一 byte: 等于int8 short: 等于int16 // 無符號整形 uint8: 沒有負數表示,所以是2的8次方減一 uint16: 同上 uint32: uint64:
float32 float64
// 數據類型默認值: 數字類型是 0 字符串類型是 空字符串 布爾類型 false
// 雙引號包裹 // 單引號包裹
到此,關于“如何理解Go語言變量與基礎數據類型”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。