最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

golang之判斷元素是否在數(shù)組內(nèi)問題

 更新時間:2023年03月08日 15:08:07   作者:我的貓叫土豆  
這篇文章主要介紹了golang之判斷元素是否在數(shù)組內(nèi)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

golang判斷元素是否在數(shù)組內(nèi)

眾所周知,golang里沒有像python的in來判斷元素是否在list里存在,可替代的辦法是將list放到map里,在map里判斷元素是否存在

// 已知list中元素"amber","jack"
arr := [...]string{"amber","jack"}

// 初始化map
var set map[string]struct{}
set = make(map[string]struct{})
// 上面2部可替換為set := make(map[string]struct{})

// 將list內(nèi)容傳遞進map,只根據(jù)key判斷,所以不需要關(guān)心value的值,用struct{}{}表示
for _, value := range arr{
	set[value] = struct{}{}
}

// 檢查元素是否在map
if _, ok := set["amber"];ok {
	fmt.Println("amber is in the list")
} else {
	fmt.Println("amber is not in the list")

}

golang判斷一個目標元素是否在目標數(shù)組中

  • 目標數(shù)組只能包含整形、字符串、布爾類型等基本類型
  • 目標元素只能包含整形、字符串、布爾類型等基本類型
  • 非interface數(shù)組需要先轉(zhuǎn)換為對于的interface數(shù)組
  • 其余基本類型的轉(zhuǎn)換按思想實現(xiàn)即可
import "reflect"

func FolatArray2Interface(array []float32) []interface{} {
	var goalArray []interface{}
	for _, value := range array {
		goalArray = append(goalArray, value)
	}
	return goalArray
}
func IntArray2Interface(array []int) []interface{} {
	var goalArray []interface{}
	for _, value := range array {
		goalArray = append(goalArray, value)
	}
	return goalArray
}

func StringArray2Interface(array []string) []interface{} {
	var goalArray []interface{}
	for _, value := range array {
		goalArray = append(goalArray, value)
	}
	return goalArray
}

func InArray(array []interface{}, element interface{}) bool {
	// 實現(xiàn)查找整形、string類型和bool類型是否在數(shù)組中
	if element == nil || array == nil {
		return false
	}
	for _, value := range array {
		// 首先判斷類型是否一致 
		if reflect.TypeOf(value).Kind() == reflect.TypeOf(element).Kind() {
			// 比較值是否一致
			if value == element {
				return true
			}
		}
	}
	return false
}

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Go語言版本管理module以及go.sum詳解

    Go語言版本管理module以及go.sum詳解

    本文介紹了Go語言版本管理go module以及go.sum詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • Go語言格式化動詞使用詳解

    Go語言格式化動詞使用詳解

    這篇文章主要介紹了Go語言格式化動詞使用詳解的相關(guān)資料,需要的朋友可以參考下
    2023-08-08
  • golang中的空slice案例

    golang中的空slice案例

    這篇文章主要介紹了golang中的空slice案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • Golang易錯知識點匯總

    Golang易錯知識點匯總

    這篇文章匯總了在開發(fā)和刷面試題過程中遇到的Golang容易搞錯的知識點,關(guān)鍵部分也都為大家寫了代碼示例,感興趣的小伙伴可以了解一下
    2022-09-09
  • Go利用反射reflect實現(xiàn)獲取接口變量信息

    Go利用反射reflect實現(xiàn)獲取接口變量信息

    反射是通過實體對象獲取反射對象(Value、Type),然后可以操作相應(yīng)的方法。本文將利用Go語言中的反射reflect實現(xiàn)獲取接口變量信息,需要的可以參考一下
    2022-05-05
  • Go語言Gin框架獲取請求參數(shù)的兩種方式

    Go語言Gin框架獲取請求參數(shù)的兩種方式

    在添加路由處理函數(shù)之后,就可以在路由處理函數(shù)中編寫業(yè)務(wù)處理代碼了,而編寫業(yè)務(wù)代碼第一件事一般就是獲取HTTP請求的參數(shù)吧,Gin框架在net/http包的基礎(chǔ)上封裝了獲取參數(shù)的方式,本文小編給大家介紹了獲取參數(shù)的兩種方式,需要的朋友可以參考下
    2024-01-01
  • Go?結(jié)構(gòu)體序列化的實現(xiàn)

    Go?結(jié)構(gòu)體序列化的實現(xiàn)

    本文主要介紹了Go?結(jié)構(gòu)體序列化的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Golang基于文件魔數(shù)判斷文件類型的案例代碼

    Golang基于文件魔數(shù)判斷文件類型的案例代碼

    這篇文章主要介紹了Golang基于文件魔數(shù)判斷文件類型,本文介紹了基于文件魔數(shù)判斷文件類型的方法,主要涉及如何ReadSeek讀取文件指定字節(jié)內(nèi)容,然后介紹文件魔數(shù),最后給出示例基于魔數(shù)判斷文件類型,需要的朋友可以參考下
    2023-02-02
  • 淺析Go語言中包的介紹與初始化

    淺析Go語言中包的介紹與初始化

    這篇文章主要為大家詳細介紹了Go語言中包的介紹與初始化,從而搞清Go程序的執(zhí)行次序,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起了解下
    2023-10-10
  • Golang Gin框架實現(xiàn)多種數(shù)據(jù)格式返回結(jié)果詳解

    Golang Gin框架實現(xiàn)多種數(shù)據(jù)格式返回結(jié)果詳解

    這篇文章主要介紹了Golang Gin框架實現(xiàn)多種數(shù)據(jù)格式返回結(jié)果,我們都知道,一個完整的請求包含請求和處理請求以及結(jié)果返回三個步驟,在服務(wù)器端對請求處理完成以后,會將結(jié)果返回給客戶端,在gin框架中,支持返回多種請求數(shù)據(jù)格式,下面我們一起來看看
    2023-05-05

最新評論

泰州市| 阳信县| 石棉县| 绩溪县| 绩溪县| 溧水县| 延庆县| 都兰县| 丹凤县| 太仆寺旗| 邹平县| 平罗县| 绥宁县| 广德县| 和林格尔县| 汾西县| 绥江县| 濮阳县| 富顺县| 青田县| 阿拉善盟| 庆云县| 资中县| 绥中县| 荣昌县| 五家渠市| 阳新县| 武平县| 吉林省| 宁波市| 泰安市| 阳春市| 唐河县| 岳阳市| 阿城市| 临湘市| 时尚| 平凉市| 静宁县| 东光县| 高安市|