Golang 去除重复值,无序排列
在 Golang 中,如果想要删除重复值并且不考虑任何特定的顺序, 我们可以使用 Mapping ,在Go语言中,首先通过循环迭代,将数组中的每一个元素映射到布尔数据类型上. Go 提供一种内置映射类型,它实现了哈希表.
举个例子: 在此示例中,我们将字符串数据类型映射到整数数据类型上,即每个字符串值关联一个整数值.
让我们逐行了解程序:
包 fmt 实现了类似于C的 printf 和 scanf 的格式化输入输出
我们定义了一个函数来删除重复元素,参数为输入数组 ‘arr’,返回一种类型为 ‘[ ] int’ 的数组,其中定义了函数的类型.
创建一个结果数组,它将存储所有唯一元素。’encountered’ 存储整数变量映射到布尔数据类型的值.
通过循环迭代,对于 ‘arr’ 中发生的每个元素,我们将其设置为 True。出现多次的元素具有相同的哈希值(或映射值).
然后我们迭代映射数组中存在的键值对。然后将它们附加到结果数组中,键元素中包含唯一的值.
这里我们在 main 函数中使用一些元素初始化了一个整数数组,其中包含重复项。我们打印初始数组和调用 unique() 函数后的更新数组。这样我们就得到了唯一的元素,忽略任何指定的顺序.
输出: