兄弟連go教程(1)型別-變數
Go 是靜態型別語⾔言,不能在運⾏行期改變變數型別。
使⽤用關鍵字 var 定義變數,⾃自動初始化為零值。如果提供初始化值,可省略變數型別,由
編譯器⾃自動推斷。
var x int
var f float32 = 1.6
var s = "abc"
在函式內部,可⽤用更簡略的 ":=" ⽅方式定義變數。
func main() {
x := 123 // 注意檢查,是定義新區域性變數,還是修改全域性變數。該⽅方式容易造成錯誤。
}
可⼀一次定義多個變數。
var x, y, z int
var s, n = "abc", 123
var (
a int
b float32
)
func main() {
n, s := 0x1234, "Hello, World!"
println(x, s, n)
}
多變數賦值時,先計算所有相關值,然後再從左到右依次賦值。
data, i := [3]int{0, 1, 2}, 0
i, data[i] = 2, 100 // (i = 0) -> (i = 2), (data[0] = 100)
特殊只寫變數 "_",⽤用於忽略值佔位。
func test() (int, string) {
return 1, "abc"
}
func main() {
_, s := test()
println(s)
}
編譯器會將未使⽤用的區域性變數當做錯誤。
var s string // 全域性變數沒問題。
func main() {
i := 0 // Error: i declared and not used。(可使⽤用 "_ = i" 規避)
}
注意重新賦值與定義新同名變數的區別。
s := "abc"
println(&s)
s, y := "hello", 20 // 重新賦值: 與前 s 在同⼀一層次的程式碼塊中,且有新的變數被定義。
println(&s, y) // 通常函式多返回值 err 會被重複使⽤用。
{
s, z := 1000, 30 // 定義新同名變數: 不在同⼀一層次程式碼塊。
println(&s, z)
}
輸出:
0x2210230f30
0x2210230f30 20
0x2210230f18 30
尹成老師
QQ77025077
微信18510341407
所有視訊在尹成學院
www.yinchengxueyuan.com
尹成百度雲請聯絡QQ475318423
相關文章
- 兄弟連go教程(2)型別-常量Go型別
- 兄弟連go教程(3)基本型別Go型別
- 兄弟連go教程(7)自定義型別Go型別
- 兄弟連go教程(4)型別-引用及轉換Go型別
- 兄弟連go教程(12)函式 - 變參Go函式
- 兄弟連go教程(5)字串Go字串
- 兄弟連go教程(6)指標Go指標
- Go 基礎教程--3-型別與變數Go型別變數
- 兄弟連go教程(16)資料 - ArrayGo
- 兄弟連go教程(17)資料 - SliceGo
- 兄弟連go教程(18)資料 - MapGo
- 兄弟連go教程(19)資料 -StructGoStruct
- 兄弟連go教程(10)表示式 - 控制流Go
- 兄弟連go教程(9)表示式-初始化Go
- 兄弟連go教程(13)函式 返回值Go函式
- 兄弟連go教程(14)函式 - 匿名函式Go函式
- 兄弟連go教程(15)函式 - 延遲呼叫Go函式
- 兄弟連go教程(19)資料 - 匿名欄位Go
- 兄弟連go教程(19)資料 - ⾯物件導向Go物件
- 兄弟連go教程(8)表示式--保留字;運算子Go
- 兄弟連go教程(11)函式 - 函式定義Go函式
- 兄弟連go教程(15)函式 - 錯誤處理Go函式
- 從零開始學GO ---- (1) 變數、常量、基本資料型別Go變數資料型別
- Go變數與基礎資料型別Go變數資料型別
- Solidity-變數和資料型別[複合型別_1]Solid變數資料型別
- C++教程-----C++變數型別和變數的定義C++變數型別
- 1、變數和簡單資料型別變數資料型別
- python教程1.2:變數+資料型別+運算子Python變數資料型別
- 兄弟連golang神技(1)-關於 Go 語言的介紹Golang
- PHP變數型別PHP變數型別
- Java 變數型別Java變數型別
- 變數型別-Set變數型別
- Java雜記1—資料型別和變數Java資料型別變數
- GO語言基礎(結構+語法+型別+變數)Go型別變數
- 資料型別,變數資料型別變數
- JavaScript - 變數、值、型別JavaScript變數型別
- 變數型別轉換變數型別
- 修改全域性變數時,可變型別和不可變型別的區別變數型別