主頁(yè) > 知識(shí)庫(kù) > go 判斷兩個(gè) slice/struct/map 是否相等的實(shí)例

go 判斷兩個(gè) slice/struct/map 是否相等的實(shí)例

熱門標(biāo)簽:寧波語(yǔ)音外呼系統(tǒng)公司 仙桃400電話辦理 鄭州智能語(yǔ)音電銷機(jī)器人價(jià)格 宿遷便宜外呼系統(tǒng)代理商 地圖標(biāo)注免費(fèi)定制店 不封卡外呼系統(tǒng) 上海極信防封電銷卡價(jià)格 重慶慶云企業(yè)400電話到哪申請(qǐng) 湛江crm外呼系統(tǒng)排名

可以通過(guò) reflect.DeepEqual 比較兩個(gè) slice/struct/map 是否相等:

package main 
import (
 "fmt"
 "reflect"
)
 
type A struct {
 s string
}
 
func main() {
 
 a1 := A{s: "abc"}
 a2 := A{s: "abc"}
 if reflect.DeepEqual(a1, a2) {
  fmt.Println(a1, "==", a2)
 }
 
 b1 := []int{1, 2}
 b2 := []int{1, 2}
 if reflect.DeepEqual(b1, b2) {
  fmt.Println(b1, "==", b2)
 }
 
 c1 := map[string]int{"a": 1, "b": 2}
 c2 := map[string]int{"a": 1, "b": 2}
 if reflect.DeepEqual(c1, c2) {
  fmt.Println(c1, "==", c2)
 }
}

補(bǔ)充:go語(yǔ)言判斷 slice,array,map中是否存在某個(gè)元素

最近在用go重構(gòu)以前python寫(xiě)的項(xiàng)目。遇到一些問(wèn)題,總結(jié)一下。自己水平比較菜,遇到問(wèn)題較低級(jí),自己總結(jié)一下,免得忘了

很簡(jiǎn)單的需求,判斷某個(gè)元素是否在 slice,array ,map中 。其實(shí)很簡(jiǎn)單。但是還是python最簡(jiǎn)單啊。。。。。。。

func Contain(obj interface{}, target interface{}) (bool, error) {
 targetValue := reflect.ValueOf(target)
 switch reflect.TypeOf(target).Kind() {
 case reflect.Slice, reflect.Array:
 for i := 0; i  targetValue.Len(); i++ {
 if targetValue.Index(i).Interface() == obj {
 return true, nil
 }
 }
 case reflect.Map:
 if targetValue.MapIndex(reflect.ValueOf(obj)).IsValid() {
 return true, nil
 }
 } 
 return false, errors.New("not in array")
}

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

您可能感興趣的文章:
  • 深入解析Go語(yǔ)言編程中slice切片結(jié)構(gòu)
  • golang語(yǔ)言如何將interface轉(zhuǎn)為int, string,slice,struct等類型
  • Golang中的Slice與數(shù)組及區(qū)別詳解
  • Go 中 slice 的 In 功能實(shí)現(xiàn)探索
  • Go語(yǔ)言中slice作為參數(shù)傳遞時(shí)遇到的一些“坑”
  • 深入理解go slice結(jié)構(gòu)

標(biāo)簽:儋州 青海 電子產(chǎn)品 海南 西雙版納 安康 遼寧 物業(yè)服務(wù)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《go 判斷兩個(gè) slice/struct/map 是否相等的實(shí)例》,本文關(guān)鍵詞  判斷,兩個(gè),slice,struct,map,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《go 判斷兩個(gè) slice/struct/map 是否相等的實(shí)例》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于go 判斷兩個(gè) slice/struct/map 是否相等的實(shí)例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章