package main
import "fmt"
type person struct
//結構體巢狀結構體
type student struct
func main01() ,101,100}
結構體名稱.父類成員資訊
"張三"
stu.person.name="張三"
"男"fmt.println(stu)
}type person1 struct
type student1 struct
func main02() ,105,66}
//var per=person1
//將結構體變數 賦值給結構體指標型別
= "郭襄"
= "郭小姐"
= 101
= 78
fmt.println(stu)
fmt.println(stu.name)
fmt.println(stu.id)
fmt.println(stu.score)
}type person1 struct
type student1 struct
func main03() ,105,66}
//var per=person1
//將結構體變數 賦值給結構體指標型別
= "郭襄"
= "郭小姐"
= 101
= 78
fmt.println(stu)
fmt.println(stu.name)
fmt.println(stu.id)
fmt.println(stu.score)
}type testa struct
type testb struct
//注意結構體不能巢狀本結構體
//結構體可以巢狀本結構體指標型別 鍊錶
type testc struct
func main04() ,"男",19},4}
"姆巴佩"
"李四"
"男"fmt.println(s)}//
//func add(a,b int) int
//1、定義函式型別
//2、為已存在的資料型別起別名
type int int //1、預處理 2、編譯 3、彙編 4、鏈結
//方法
//func (方法接收者)方法名(引數列表)返回值型別
func (a int)add(b int)int
func main05()
type stu struct
//方法 值傳遞
func (s stu) printinfo()
// 位址傳遞
func (s *stu) editinfo(name string, age int, *** string)
func main06()
func main07()
物件.方法
var s1 stu = stu
s1.printinfo()
//(&s1).editinfo("林黛玉",16,"女")//ok
//結構體變數可以直接使用結構體指標對應的方法
s1.editinfo("林黛玉",16,"女")
s1.printinfo()
}//方法是全域性的 允許程式在所有檔案訪問 物件.方法
//父類不能繼承子類資訊
//子結構體繼承父類結構體 允許使用父類結構體成員 允許使用父類的方法
//方法重寫 在乙個物件中不能出現相同的方法名 方法的接收者 帶* 和不帶* 表示乙個相同的物件
//預設使用子類的方法 採用就進原則
GO學習 8 Go語言基礎之陣列
陣列是同一種資料型別元素的集合。在go語言中,陣列從宣告時就確定,使用時可以修改陣列成員,但是陣列大小不可變化。基本語法 定義乙個長度為3元素型別為int的陣列a var a 3 intvar 陣列變數名 元素數量 t比如 var a 5 int,陣列的長度必須是常量,並且長度是陣列型別的一部分。一...
go語言 8 語言陷阱
x int return t 呼叫f2返回5,因為defer改變的是新建的t變數的值 funcf1 r int return0 返回1,因為defer修改的r是返回值,所以返回值被修改了防止陷阱的辦法時f1的返回值不要命名,即去掉r 陣列都是值傳遞。包括 陣列間的直接賦值,陣列作為函式引數 陣列內嵌...
Go 語言基礎
go 語言內建的運算子有 1.算術運算子 2.關係運算子 3.邏輯運算子 4.位運算子 將其先轉換為二進位制數,在根據如下表規則 p q p q p q p q 0 0 0 0 0 0 1 0 1 1 1 1 1 1 0 1 0 0 1 1如假定 a 60 b 13 其二進位制數轉換為 a 0011...