从两个数组Golang中删除相同的元素

2024年 2月 12日 94.5k 0

从两个数组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中删除相同的元素的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论