您好,登錄后才能下訂單哦!
本篇內容主要講解“怎么使用Go語言基礎結構體”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么使用Go語言基礎結構體”吧!
結構體是由一系列具有相同類型或不同類型的數據構成的數據集合
定義結構體【標識自定義結構體的名稱,在同一個包內不能重復】
type 結構名 struct { 字段1: 字段1的值, 字段2: 字段2的值, ...... }
例子
//學生 type Student struct { Name string //姓名 Age int //年齡 Sex bool //性別 true:男 false:女 }
var stu Student
var stu *Student = new(Student)
var stu *Student = &Student{}
鍵值之間以:分隔;鍵值對之間以,分隔
變量名 := 結構體類型名{
字段1: 字段1的值,
字段2: 字段2的值,
......
}
例子
stu3 := Student{ Name: "李四", Age: 18}
沒有字段,按著序列,必須全部填充
變量名 := 結構體類型名{
字段1的值,
字段2的值,
......
}
stu4 := Student{ "王五", 18, true, }
定義結構體時同時賦值
變量名 := struct{
字段1: 字段類型1,
字段2: 字段類型2,
......
}{
// 字段值初始化
字段1: 字段1的值,
字段2: 字段2的值,
......
}
stu5 := struct { Name string Age int }{ Name: "王五", Age: 18, }
賦值、訪問都使用"."點這個符號
結構體.字段
var stu Student stu.Name="張三" //賦值 stu.Age=18 stu.Sex=true fmt.Println(stu.Age) //訪問
func 函數名([結構體變量、結構體指針變量]){}
func printStudent(stu Student) {} func printStudent(stu *Student) {}
使用結構體指針訪問結構體成員,使用 “.” 操作符。
var 變量名 *結構名
var stu1 *Student = new(Student) stu1.Name = "李四" stu1.Age = 20 stu1.Sex = false
給結構體添加方法,在func和方法名之間加一個括號,加入該結構體的指針引用【也可以是值引用】
func ([結構體名]) 方法名([參數列表])[返回值列表]{}
例子
var stu Student stu.Name = "張三" stu.Age = 18 stu.Sex = false //調用 stu.sayHi() //添加結構體方法 func (stu Student) sayHi() { fmt.Println(stu.Name, "Hi") }
golang是非面向對象語言,也可以說go語言中的結構體類似java中的類,但是很明顯缺少繼承多態等等OO的特性
指針變量通過.訪問結構體成員,如果是C或者C++一定要通過*訪問,這是Go對它的一個優化
package main import "fmt" //定義結構體【標識自定義結構體的名稱,在同一個包內不能重復】 type Student struct { Name string Age int Sex bool } func main() { //struct定義的三種形式 var stu Student stu.Name = "張三" stu.Age = 18 stu.Sex = false fmt.Println(stu) var stu1 *Student = new(Student) stu1.Name = "李四" stu1.Age = 20 stu1.Sex = false fmt.Println(stu1) var stu2 *Student = &Student{} stu2.Name = "王五" stu2.Age = 55 stu2.Sex = true fmt.Println(stu2) //初始化結構體 stu3 := Student{ Name: "李四", Age: 18} fmt.Println(stu3) stu4 := Student{ "王五", 18, true, } fmt.Println(stu4) //匿名結構體 stu5 := struct { Name string Age int }{ Name: "王五", Age: 18, } fmt.Println(stu5) // printStudent(stu) printStudent(stu1) stu.sayHi() } //添加結構體方法 func (stu Student) sayHi() { fmt.Println(stu.Name, "Hi") } // func printStudent(stu Student) { // fmt.Println(stu.Name, stu.Age, stu.Sex) // } func printStudent(stu *Student) { fmt.Println(stu.Name, stu.Age, stu.Sex) }
到此,相信大家對“怎么使用Go語言基礎結構體”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。