首頁  >  文章  >  後端開發  >  從兩個數組Golang中刪除相同的元素

從兩個數組Golang中刪除相同的元素

WBOY
WBOY轉載
2024-02-11 22:54:08757瀏覽

從兩個數組Golang中刪除相同的元素

php小編蘋果為您帶來了一篇有關從兩個陣列中刪除相同元素的文章。在程式設計中,經常會遇到需要刪除陣列中相同元素的情況,這種操作可以幫助我們更好地處理資料。本文將介紹如何使用Golang語言來實現從兩個陣列中刪除相同元素的方法,希望能對您的程式設計工作有所幫助。讓我們一起來看看吧!

問題內容

a:=[]rune("/storage/emulated/0/Custom_Scripts/Golang/")

b:=[]rune("/storage/emulated/0/")

#有兩個切片a && b,在循環中我們應該從第二個切片$b 中取出每個元素並將其與第一個切片$a 中的元素進行比較,如果它們相同,那麼我們將從第一個切片$a 解決方案應該沒有任何包,除了 fmt(僅用於列印最終數組)並通過兩種方式: 使用循環的拳頭 第二張地圖

嘗試用這種方式釋放它,但我遇到了超出範圍的恐慌,有人可以幫助我嗎?

package main
import(
"fmt"
)
func main() {
    fileMeta := 
[]rune("/storage/emulated/0/Custom_Scripts/Golang/")
    delChr := []rune("/storage/emulated/0")
    for i, j := range fileMeta {
        for _, m := range delChr {
            if m == j {
               //fileMeta[i] = ""
               fileMeta = append(fileMeta[:i], 
fileMeta[i+1:]...)
            }
        }
    }
    fmt.Println(fileMeta)
  }

解決方法

我不會重新發明輪子:

package main

import (
    "fmt"
    "strings"
)

func main() {
    fileMeta := []rune("/storage/emulated/0/Custom_Scripts/Golang/")
    delChr := []rune("/storage/emulated/0")

    fm := string(fileMeta)
    pfx := string(delChr)

    if tail := strings.TrimPrefix(fm, pfx); len(tail) != len(fm) {
        fileMeta = []rune(tail)
    }

    fmt.Println(fileMeta, string(fileMeta))
}

順便說一句,您真的需要在[]runes上進行操作嗎?對於大多數應用程式來說這是不自然的——為什麼不立即使用正確的字串呢?

以上是從兩個數組Golang中刪除相同的元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:stackoverflow.com。如有侵權,請聯絡admin@php.cn刪除