Golang 检查两个数组是否相等

Golang 检查两个数组是否相等

在本教程中,我们将学习如何编写一个Golang程序来检查两个数组是否相等。

使用等号运算符检查两个数组是否相等

以下代码演示了如何使用等号运算符检查两个数组是否相等。

步骤

步骤1 :首先,我们需要导入fmt包,该包允许我们在屏幕上打印任何内容。

步骤2 :然后我们调用main()函数。

步骤3 :然后我们初始化三个整数类型的数组arr1,arr2,arr3,并将值存储在它们中。

步骤4 :使用fmt.Println()函数将这些数组打印在屏幕上。

步骤5 :我们使用if条件来逐个比较任意两个数组,并检查它们是否相同。

步骤6 :如果所选择的两个数组相同,则打印出这两个数组相同,否则打印出给定的数组不相等。

步骤7 :逐个比较所有三个数组以进行检查。

示例

package main
import "fmt"
func main() {
   arr1 := [4]int{1, 2, 3, 4}
   fmt.Println("The first array Arr1 is:", arr1)
   arr2 := [4]int{5, 6, 7, 8}
   fmt.Println("The second array Arr2 is:", arr2)
   arr3 := [4]int{1, 2, 3, 4}
   fmt.Println("The third array Arr3 is:", arr3)
   fmt.Println()
   if arr1 == arr2 {
      fmt.Println("Arr1 and Arr2 have the similar elements")
   } else {
      fmt.Println("Arr1 and Arr2 do not have the similar elements")
   }
   if arr1 == arr3 {
      fmt.Println("Arr1 and Arr3 have the similar elements")
   } else {
      fmt.Println("Arr1 and Arr3 do not have the similar elements")
   }
   if arr2 != arr3 {
      fmt.Println("Arr2 and Arr3 do not have the similar elements")
   } else {
      fmt.Println("Arr2 and Arr3 have the similar elements")
   }
}

输出

The first array Arr1 is: [1 2 3 4]
The second array Arr2 is: [5 6 7 8]
The third array Arr3 is: [1 2 3 4]
Arr1 and Arr2 do not have the similar elements
Arr1 and Arr3 have the similar elements
Arr2 and Arr3 do not have the similar elements

使用if条件检查两个数组是否相等

上述程序有一个缺点,即如果我们提供了两个具有相同元素但顺序不同的数组,它仍将视为不相等。我们将在此程序中尝试克服这个缺点。

步骤

步骤1 - 导入fmt包,允许我们在屏幕上打印任何内容。

步骤2 - 调用main()函数,这是我们程序的起始点。

步骤3 - 初始化两个名为arr1和arr2的整数类型数组。

步骤4 - 为这两个数组存储值并将它们打印到屏幕上。

步骤5 - 使用两个for循环遍历这两个数组,并使用if条件比较两个数组当前元素的值。

步骤6 - 如果值相同,则增加计数变量并终止循环。

步骤7 - 重复此过程直到检查完整个数组。

步骤8 - 然后使用另一个if条件来比较数组的长度与计数变量。

步骤9 - 如果长度相同,则表示两个数组相同,我们需要将此消息打印到屏幕上。否则,打印给定的两个数组不相同。

示例

package main
import "fmt"
func main() {
   arr1 := [4]int{1, 2, 3, 4}
   fmt.Println("The first array Arr1 is:", arr1)
   arr2 := [4]int{2, 3, 1, 4}
   fmt.Println("The second array Arr2 is:", arr2)
   fmt.Println()
   var count int = 0
   for i := 0; i < len(arr1); i++ {
      for j := 0; j < len(arr2); j++ {
         if arr1[i] == arr2[j] {
            count++
            break
         }
      }
   }
   if (count == len(arr1)) && (count == len(arr2)) {
      fmt.Println("The above two arrays given are same")
   } else {
      fmt.Println("The above two arrays are different")
   }
}

输出

The first array Arr1 is: [1 2 3 4]
The second array Arr2 is: [2 3 1 4]

The above two arrays given are same

检查两个数组是否相等使用外部函数

现在让我们看看如何使用用户定义的函数来检查两个数组是否相等

示例

package main
import "fmt"

// function to check if given arrays are equal or not
func equalArray(a []int, b []int) bool {
   if len(a) != len(b) {
      return false
   }
   for i, v := range a {
      if v != b[i] {
         return false
      }
   }
   return true
}
func main() {
   arr1 := []int{1, 2, 3, 4}
   fmt.Println("The first array Arr1 is:", arr1)
   arr2 := []int{1, 2, 3, 4}
   fmt.Println("The second array Arr2 is:", arr2)
   result := equalArray(arr1, arr2)
   fmt.Println()
   if result == true {
      fmt.Println("The above two arrays are equal")
   } else {
      fmt.Println("The above two arrays are not equal")
   }
}

输出

The first array Arr1 is: [1 2 3 4]
The second array Arr2 is: [1 2 3 4]

The above two arrays are equal

结论

我们成功编译并执行了一个Go语言程序,用于检查两个数组是否相等,同时提供了示例。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程