第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

如何從地圖內(nèi)部的切片中刪除元素?

如何從地圖內(nèi)部的切片中刪除元素?

Go
至尊寶的傳說 2022-11-23 20:09:00
我有一個(gè)地圖,其中有一個(gè)鍵和該鍵的多個(gè)值。我想要做的是從值中刪除單個(gè)值。例子:map1 := make(map[string][]string)str1 := []string{"Jon", "Doe", "Captain", "America"}str2 := "Doe"map1["p1"] = str1在上面的示例中,如果它存在于 str2 中,我想從“p1”中刪除值,在我的例子中它是“Doe”刪除值映射后應(yīng)該是這樣的 p1:[Jon Captain America]這是可能的還是我必須再次重寫整個(gè)地圖?
查看完整描述

2 回答

?
不負(fù)相思意

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超10個(gè)贊

不可能從地圖內(nèi)部的切片中“就地”刪除元素。您需要先從地圖中獲取切片,從切片中刪除元素,然后將結(jié)果存儲在地圖中。


要通過元素的值查找元素的索引,然后將其從切片中刪除,golang.org/x/exp/slices如果您使用的是 Go1.18,則可以使用該包。


package main


import (

    "fmt"


    "golang.org/x/exp/slices"

)


func main() {

    map1 := make(map[string][]string)

    str1 := []string{"Jon", "Doe", "Captain", "America"}

    str2 := "Doe"

    map1["p1"] = str1


    idx := slices.Index(map1["p1"], str2)

    map1["p1"] = slices.Delete(map1["p1"], idx, idx+1)


    fmt.Println(map1)

}

https://go.dev/play/p/EDTGAJT-VdM


查看完整回答
反對 回復(fù) 2022-11-23
?
慕森卡

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超8個(gè)贊

package main


func main () {

    var sessions = map[string] chan int{};

    delete(sessions, "moo");

}

或者


package main


func main () {

    var sessions = map[string] chan int{};

    sessions["moo"] = make (chan int);

    _, ok := sessions["moo"];

    if ok {

        delete(sessions, "moo");

    }

}


查看完整回答
反對 回復(fù) 2022-11-23
  • 2 回答
  • 0 關(guān)注
  • 147 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號