如何做盆栽蔬菜網(wǎng)站推廣普通話的意義30字
本文主要為Go語言 結(jié)構(gòu)體介紹、語法、使用注意及其示例。
目錄
結(jié)構(gòu)體
語法
語法示例
語法說明
聲明使用
創(chuàng)建并賦值
使用指針
使用注意
總結(jié)
結(jié)構(gòu)體
C語言里面,我們可以使用typedef in MyInt。
在go語言中使用結(jié)構(gòu)體來模擬類,使用type + struct類處理。
語法
語法示例
type structName struct{fieldName typeName......
}
語法說明
type和struct是Go 語言的關(guān)鍵字
二者組合就代表要定義一個新的結(jié)構(gòu)體類型
structName 是結(jié)構(gòu)體類型的名字
fieldName 是結(jié)構(gòu)體的字段名,而tpeName是對應(yīng)的字段類型
字段可以是零個、一個或者多個
聲明使用
var s1 Student
采用簡短聲明法
s1 := Student{"張三", 20, "男", 100}
?
創(chuàng)建并賦值
創(chuàng)建學(xué)生信息的結(jié)構(gòu)體并賦值。
示例如下:
package mainimport "fmt"// c語言里面,我們可以使用typedef int MyInt
type MyInt int // type相當(dāng)于typedeftype Student struct {name stringage intgender stringscore float64
}func main() {var i, j MyIntj, j = 10, 20fmt.Println("i+j=", i+j)lilei := Student{name: "lilei",age: 20,gender: "男",score: 100, // 最后一個元素后面必須加上逗號,如果不加上逗號則必須與}同一行}// 使用結(jié)構(gòu)體各個字段fmt.Println("lilei:", lilei.name, lilei.age, lilei.gender, lilei.score)
}
?
使用指針
示例如下:
s1 := &lilei
fmt.Println("lilei 使用指針s1.name打印:", s1.name, s1.age, s1.gender, s1.score)
fmt.Println("lilei 使用指針(*s1).name:", (*s1).name, (*s1).age, (*s1).gender, (*s1).score)
使用注意
使用結(jié)構(gòu)體變量 需要注意:
再定義期間對結(jié)構(gòu)體賦值時,如果每個字段都賦值了,那么字段的名字可以省略不寫。
如果只對局部變量賦值,那么必須明確指定變量名字。
示例如下:
sunN := Student{"sunnan",18,"男",99,
}
fmt.Println(sunN)sunZ := Student{name: "sunzhen",age: 25,
}
fmt.Println(sunZ)
總結(jié)
本文主要為Go語言 結(jié)構(gòu)體介紹、語法、使用注意及其示例。