亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Go檢查結(jié)構(gòu)體中是否存在某個字段及創(chuàng)建結(jié)構(gòu)體切片或映射

 更新時間:2024年01月11日 16:24:11   作者:zhe.ink 哲京  
這篇文章主要為大家介紹了Go檢查結(jié)構(gòu)體中是否存在某個字段及創(chuàng)建結(jié)構(gòu)體切片或映射實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

驗證字段Z是否存在于結(jié)構(gòu)類型Test中

下面的代碼片段聲明了具有字段A、B和C的結(jié)構(gòu)類型Test。我們需要驗證字段Z是否存在于結(jié)構(gòu)類型Test中。

示例代碼:

package main
import (
	"log"
	"reflect"
)
func main() {
	type test struct {
		A bool
		B bool
		C bool
	}
	v := new(test)
	metaValue := reflect.ValueOf(v).Elem()
	for _, name := range []string{"A", "C", "Z"} {
		field := metaValue.FieldByName(name)
		if field == (reflect.Value{}) {
			log.Printf("Field %s not exist in struct", name)
		}
	}
}

輸出:

2009/11/10 23:00:00 Field Z not exist in struct

創(chuàng)建結(jié)構(gòu)體切片

示例代碼:

package main
import (
	"fmt"
)
type Widget struct {
	id    int
	attrs []string
}
func main() {
	widgets := []Widget{
		Widget{
			id:    10,
			attrs: []string{"blah", "foo"},
		},
		Widget{
			id:    11,
			attrs: []string{"foo", "bar"},
		},
		Widget{
			id:    12,
			attrs: []string{"xyz"},
		},
	}
	for _, j := range widgets {
		fmt.Printf("%d ", j.id)
		for _, y := range j.attrs {
			fmt.Printf(" %s ", y)
		}
		fmt.Println()
	}
}

輸出:

10  blah  foo 
11  foo  bar
12  xyz

創(chuàng)建結(jié)構(gòu)體映射

示例代碼:

package main

import "fmt"

type Emp struct {
	x int
	y []string
}

func main() {
	var list = map[string]*Emp{"e1": {1001, []string{"John", "US"}}}

	e := new(Emp)
	e.x = 1002
	e.y = []string{"Rock", "UK"}

	list["e2"] = e

	fmt.Println(list["e1"])
	fmt.Println(list["e2"])
}

輸出:

&{1001 [John US]}
&{1002 [Rock UK]}

以上就是Go檢查結(jié)構(gòu)體中是否存在某個字段及創(chuàng)建結(jié)構(gòu)體切片或映射的詳細內(nèi)容,更多關(guān)于Go結(jié)構(gòu)體檢查創(chuàng)建的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • golang網(wǎng)絡(luò)socket粘包問題的解決方法

    golang網(wǎng)絡(luò)socket粘包問題的解決方法

    這篇文章主要介紹了golang網(wǎng)絡(luò)socket粘包問題的解決方法,簡單講述了socket粘包的定義并結(jié)合實例形式分析了Go語言解決粘包問題的方法,需要的朋友可以參考下
    2016-07-07
  • Golang指針的操作以及常用的指針函數(shù)

    Golang指針的操作以及常用的指針函數(shù)

    本文主要介紹了Golang指針的操作以及常用的指針函數(shù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-05-05
  • Golang?Heap的源碼剖析

    Golang?Heap的源碼剖析

    這篇文章主要給大家詳細剖析了Golang?Heap源碼,文中有詳細的代碼示例,對我們學習Golang?Heap有一定的幫助,需要的朋友可以參考下
    2023-07-07
  • Golang自定義開發(fā)Prometheus?exporter詳解

    Golang自定義開發(fā)Prometheus?exporter詳解

    Exporter是基于Prometheus實施的監(jiān)控系統(tǒng)中重要的組成部分,承擔數(shù)據(jù)指標的采集工作,這篇文章主要為大家介紹了如何自定義編寫開發(fā)?Prometheus?exporter,感興趣的可以了解一下
    2023-06-06
  • go語言切片slice使用細節(jié)和注意事項整理大全

    go語言切片slice使用細節(jié)和注意事項整理大全

    這篇文章主要給大家介紹了關(guān)于go語言切片slice使用細節(jié)和注意事項整理的相關(guān)資料,需要的朋友可以參考下
    2024-05-05
  • Golang設(shè)計模式之外觀模式的實現(xiàn)

    Golang設(shè)計模式之外觀模式的實現(xiàn)

    這篇文章主要介紹了Golang設(shè)計模式之外觀模式的實現(xiàn),外觀模式是一種常用的設(shè)計模式之一,是一種結(jié)構(gòu)型設(shè)計模式,它提供了一個簡單的接口來訪問復雜系統(tǒng)的各種功能,從而降低了系統(tǒng)的復雜度,需要詳細了解可以參考下文
    2023-05-05
  • Go?easyjson使用及反射原理

    Go?easyjson使用及反射原理

    這篇文章主要介紹了Go?easyjson使用技巧,詳細介紹了go自帶JSON庫使用的反射原理,性能相對較差,可以使用easyjson代替,需要的朋友可以參考下
    2022-04-04
  • Go語言中兩個比較流行的緩存庫使用示例

    Go語言中兩個比較流行的緩存庫使用示例

    緩存是計算機科學中的一個重要概念,設(shè)想某個組件需要訪問外部資源,它向外部源請求資源,接收并使用資源,這些步驟都需要花費時間,下面這篇文章主要給大家介紹了關(guān)于Go語言中兩個比較流行的緩存庫使用的相關(guān)資料,需要的朋友可以參考下
    2024-04-04
  • go語言靜態(tài)庫的編譯和使用方法

    go語言靜態(tài)庫的編譯和使用方法

    這篇文章主要介紹了go語言靜態(tài)庫的編譯和使用方法,本文以windows平臺為例,通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • Go簡單實現(xiàn)協(xié)程池的實現(xiàn)示例

    Go簡單實現(xiàn)協(xié)程池的實現(xiàn)示例

    本文主要介紹了Go簡單實現(xiàn)協(xié)程池的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06

最新評論