Golang 从数组中删除重复元素
Golang 中的数组 或 Go 编程语言与其它编程语言非常相似。在程序中,有时我们需要存储一组相同类型的数据,例如学生成绩单列表。这种类型的集合使用数组在程序中进行存储。数组是一系列固定长度的顺序,用于在内存中存储同类元素。由于它们的固定长度,数组不像 Go 语言中的切片一样受欢迎。
在数组中,您可以存储零个或更多个元素。通过使用带有零基位置的 [] 索引操作符对数组的元素进行索引,这意味着第一个元素的索引是 array[0],最后一个元素的索引是 array[len(array)-1]。
为了从数组中删除重复元素,我们将 int 类型的项目映射到布尔类型数据,并将其设置为第一个元素的 true,然后将其附加到另一个数组中,以获得已删除重复元素的数组。
输入: [7,3,6,1,8,1,1,3,4,5,12]
输出: [7,6,4,8,5,12]
存在多次的元素,已删除重复元素
让我们看看 Golang 程序,并理解其代码:
fmt 包实现了类似于 C 的 printf 和 scanf 的格式化 I / O 函数。
这是我们定义的函数定义,其参数为输入数组 “arr”,返回类型为 “[ ]int” 类型的数组,用于删除重复的元素。
在这里,我们创建了一个 map 变量 occurred,该变量将每个元素的 int 数据类型映射到 boolean 数据类型。我们创建了一个数组 ‘result’,它将存储给定项的唯一元素,并将其返回给主功能。
我们通过 for 循环迭代数组并检查映射变量 occurred [arr [(循环变量)]] 是 true 还是 false。最开始时,每个索引的映射变量都不为 true。因此,当首次遇到元素时,我们将其更改为 true,并将其附加到数组 result 中。下一次找到重复元素时,将检查条件是否为true occurred [arr[e]] ,是因为之前遇到了,因此不会执行该块并且重复元素不会被附加到结果数组中。最后,我们返回数组。
在主函数中,我们使用值初始化 array1,然后打印初始数组并调用函数 unique 以执行上述函数,并返回一个数组,我们将其作为 ‘unique_items’ 打印出来。
输出: