go語言基礎之結構體做函式引數 值傳遞和位址傳遞

2022-07-05 05:36:12 字數 608 閱讀 3244

1、結構體做函式引數值傳遞

示例:

package main //必須有個main包

import "fmt"

//定義乙個結構體型別

type student struct

func test01(s student)

func main()

test01(s) //位址傳遞

fmt.println("main: ", s)

}

執行結果:

test01:  

main:

2、結構體做函式引數:位址傳遞

示例:

package main //必須有個main包

import "fmt"

//定義乙個結構體型別

type student struct

func test02(p *student)

func main()

test02(&s) //位址傳遞(引用傳遞),形參可以改實參

fmt.println("main: ", s)

}

執行結果:

main:

Go語言基礎之結構體反射

反射在結構體中的應用,才是最廣泛的!畢竟在go中,是用結構體代替物件的!所以最多的,最麻煩的,也是反射結構體,也是最靈活的!上次講的,只是在普通變數中的應用,相對來說,使用的場景不是太多。但是反射在結構體中的應用,基本會貫穿整個go語言基礎。示例 type student struct func m...

結構體做函式引數 c

作用 將結構體作為引數箱函式中傳遞 傳遞的方式 include includeusing namespace std 定義學生結構體 struct student 列印學生資訊的函式 1 值傳遞 void printstuinfo struct student s 位址傳遞,外側的資料也會發生變化 ...

go語言基礎 匿名結構體

結構體和函式一樣,也可以使用匿名結構體 使用匿名結構體也要直接賦值給變數,不要沒法使用 匿名結構體和匿名字段 沒有名字的結構體 a struct func type a struct b a b.string,b.int 匿名字段可以理解為欄位名和字段型別一致 packagemain import ...