欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

golang 如何通過反射創(chuàng)建新對象

 更新時間:2021年04月28日 14:58:37   作者:RuoiseHone  
這篇文章主要介紹了golang 通過反射創(chuàng)建新對象的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

廢話少說,直接貼代碼~

type A struct {
 Name string
}
 
// 測試unit
func TestReflect(t *testing.T)  {
 reflectNew((*A)(nil))
}
 
//反射創(chuàng)建新對象。
func reflectNew(target interface{})  {
 if target == nil {
  fmt.Println("參數(shù)不能未空")
  return
 }
 
 t := reflect.TypeOf(target)
 if t.Kind() == reflect.Ptr { //指針類型獲取真正type需要調(diào)用Elem
 t = t.Elem()
 }
 
 newStruc := reflect.New(t)// 調(diào)用反射創(chuàng)建對象
 newStruc.Elem().FieldByName("Name").SetString("Lily") //設置值
 
 newVal := newStruc.Elem().FieldByName("Name") //獲取值
 fmt.Println(newVal.String())
}

補充:Go語言中創(chuàng)建對象的幾種方式

對于Go對象

type Car struct {
    color string
    size  string
}

方式一:

使用T{…}方式,結(jié)果為值類型

c := Car{}

方式二:

使用new的方式,結(jié)果為指針類型

c1 := new(Car)

方式三:

使用&方式,結(jié)果為指針類型

c2 := &Car{}

以下為創(chuàng)建并初始化

c3 := &Car{"紅色", "1.2L"}
c4 := &Car{color: "紅色"}
c5 := Car{color: "紅色"}

構造函數(shù):

在Go語言中沒有構造函數(shù)的概念,對象的創(chuàng)建通常交由一個全局的創(chuàng)建函數(shù)來完成,以 NewXXX 來命名,表示“構造函數(shù)” :

func NewCar(color,size string)*Car  {
    return &Car{color,size}
}

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關文章

  • go slice 擴容實現(xiàn)原理源碼解析

    go slice 擴容實現(xiàn)原理源碼解析

    這篇文章主要為大家介紹了go slice 擴容實現(xiàn)原理源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • golang websocket 服務端的實現(xiàn)

    golang websocket 服務端的實現(xiàn)

    這篇文章主要介紹了golang websocket 服務端的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09
  • golang?gin框架實現(xiàn)大文件的流式上傳功能

    golang?gin框架實現(xiàn)大文件的流式上傳功能

    這篇文章主要介紹了golang?gin框架中實現(xiàn)大文件的流式上傳,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • 15個Golang中時間處理的實用函數(shù)

    15個Golang中時間處理的實用函數(shù)

    在Go編程中,處理日期和時間是一項常見任務,涉及到精確性和靈活性,本文將介紹一系列實用函數(shù),它們充當time包的包裝器,需要的可以參考下
    2024-01-01
  • 一文詳解Golang中的切片數(shù)據(jù)類型

    一文詳解Golang中的切片數(shù)據(jù)類型

    這篇文章主要介紹了一文詳解Golang中的切片數(shù)據(jù)類型,切片是一個種特殊的數(shù)組。是對數(shù)組的一個連續(xù)片段的引用,所以切片是一個引用類型
    2022-09-09
  • Go語言實現(xiàn)UDP版聊天小工具的示例詳解

    Go語言實現(xiàn)UDP版聊天小工具的示例詳解

    這篇文章主要為大家詳細介紹了如何利用Go語言實現(xiàn)聊天小工具(UDP版),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • go語言 全局變量和局部變量實例

    go語言 全局變量和局部變量實例

    這篇文章主要介紹了go語言 全局變量和局部變量實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • go實現(xiàn)服務優(yōu)雅關閉的示例

    go實現(xiàn)服務優(yōu)雅關閉的示例

    本文主要介紹了go實現(xiàn)服務優(yōu)雅關閉的示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • Go語言多值替換的HTML模板實例分析

    Go語言多值替換的HTML模板實例分析

    這篇文章主要介紹了Go語言多值替換的HTML模板,實例分析了Go語言多值替換與數(shù)組迭代的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-02-02
  • Go結(jié)合JavaScript實現(xiàn)抓取網(wǎng)頁中的圖像鏈接

    Go結(jié)合JavaScript實現(xiàn)抓取網(wǎng)頁中的圖像鏈接

    這篇文章主要為大家詳細介紹了Go語言如何結(jié)合JavaScript實現(xiàn)抓取網(wǎng)頁中的圖像鏈接,文中的示例代碼講解詳細,有需要的小伙伴可以跟隨小編一起學習一下
    2023-11-11

最新評論