go 定义切片数组 去掉去掉重复值
时间: 2024-09-29 18:12:32 浏览: 30
Go-govalidator-对字符串数字切片和结构进行验证与清洗
在Go语言中,你可以使用切片(slices)来定义数组并自动移除重复值。切片本质上是原数组的一个视图,而不是一份独立的数据拷贝,所以去重操作通常不需要额外的空间开销。以下是一个简单的例子:
```go
package main
import "fmt"
func removeDuplicates(arr []int) []int {
unique := make([]int, 0, len(arr)) // 使用容量预估
for _, value := range arr {
if !contains(unique, value) { // 判断元素是否已存在
unique = append(unique, value)
}
}
return unique
}
// contains 函数检查切片中是否存在某个值
func contains(s []int, e int) bool {
for _, v := range s {
if v == e {
return true
}
}
return false
}
func main() {
input := []int{1, 2, 3, 3, 4, 5, 5}
result := removeDuplicates(input)
fmt.Println("Original array:", input)
fmt.Println("Array with duplicates removed:", result)
阅读全文