Golang 检查数组是否包含给定值

Golang 检查数组是否包含给定值

在本教程中,我们将学习如何检查给定值是否存在于 Go 语言数组中。我们将使用两种方法。

方法1:在主函数中直接使用for循环

我们将使用for循环遍历Go语言数组的元素,并使用相等运算符检查值的相等性。如果值匹配,则可以停止迭代并称该给定值存在于数组中。

方法2:使用函数

Golang没有针对此的预定义库函数方法,因此我们需要创建自己的函数。

示例1:Golang 程序检查数组是否包含特定值。

语法

var array_name [length] Type

在Golang中,要初始化一个数组,我们需要指定三个东西。第一个是数组的名称,接着是它的大小,然后是我们希望存储在其中的值的数据类型。

例如,var number[10] int – 这将初始化一个名为number的整数数据类型的数组,并将10个内存分配给它的连续内存位置来存储值。

步骤

  • 步骤1 - 导入包 fmt

  • 步骤2 - 开始函数 main()

  • 步骤3 - 声明并初始化一个数组,一个整数数据类型的变量和一个布尔变量。

  • 步骤4 - 使用for循环遍历数组。

  • 步骤5 - 使用 fmt.Printf() 在屏幕上打印结果。

示例

// GOLANG PROGRAM TO CHECK IF AN ARRAY CONTAINS A GIVEN VALUE
package main
import "fmt"

// fmt package provides the function to print anything
func main() {

   // initialize an array and store value in it
   array := [5]int {1, 2, 3, 4, 5}

   // initialize a variable of data type int
   var element int = 4
   fmt.Println("The element to check = ",element)

   // initialize a datatype of Boolean and define it to false
   var result bool = false

   // iterate over the array using for loop and break if values match
   for i := 0;
   i < len(array);
   i++ {
      // checking if the array contains the given value
      if array[i] == element {
      // changing the boolean variable
            result = true
            break
         }
      }

      // printing the final result
      if result {
         fmt.Println("Array", array, "Contains the given Value", element)
      } else {
         fmt.Println("Array", array, "does not Contains the given Value", element)
      }
   }

输出

The element to check = 4 
Array [1 2 3 4 5] Contains the given Value 4

代码描述

1. 首先,我们导入fmt包,该包允许我们打印任何内容。

2. 然后,我们开始main()函数。

3. 初始化一个int类型的数组,并给它赋值。

4. 也初始化一个变量来存储我们希望检查的整数值。

5. 初始化一个布尔变量,并开始时将其设为false。

6. 迭代数组,并使用if条件来检查是否包含上面初始化的变量。

7. 如果包含该变量,则翻转布尔变量并跳出循环。

8. 在屏幕上打印结果。

示例2:使用函数检查数组是否包含特定元素的Golang程序

语法

func function_name([parameters]) [return_types]{
   Body of the function
}

步骤

  • 步骤 1 - 导入包 fmt

  • 步骤 2 - 创建函数 isAvailable()

  • 步骤 3 - 启动函数 main()

  • 步骤 4 - 初始化字符串数组

  • 步骤 5 - 调用函数 isAvailable()

  • 步骤 6 - 使用 fmt.Printf() 在屏幕上打印结果

示例

package main
import "fmt"

// defining the function with a parameter of string
// type and have a return type bool
func isAvailable(alpha []string, str string) bool {

   // iterate using the for loop
   for i := 0;
   i < len(alpha);
   i++ {
      // check      
      if alpha[i] == str {
         // return true
         return true
      }
   }
   return false
}
// Start the function main()
func main() {
   // Declare and initialize string datatype
   alpha := []string {"Akshay", "Emma", "David", "Akhil"}
   fmt.Println("Given List = ",alpha)

   // initializing a variable of data type string
   var toCheck string = "Akhil"
   fmt.Println("Value to search = ",toCheck)

   // calling the isAvailable() function
   result := isAvailable(alpha, toCheck)
   if result {
      fmt.Println(toCheck, "is present in the array of strings", alpha)
   }
}

输出

Given List = [Akshay Emma David Akhil] 
Value to search = Akhil 
Akhil is present in the array of strings [Akshay Emma David Akhil]

代码描述

1. 首先,我们需要导入fmt包,以便在屏幕上打印任何内容。

2. 接下来,我们需要创建一个函数来处理逻辑。

3. 我们创建了一个名为isAvailable()的函数,该函数接受两个字符串参数,一个是字符串数组,另一个是我们希望检查的字符串。该函数返回一个布尔值,即true或false。

4. 在此循环中,我们使用for循环遍历数组。

5. 然后,我们使用if条件判断来检查可用字符串是否存在于数组中。

6. 如果存在,则返回true。否则,该函数将返回false。

7. 开始main()函数。

8. 初始化一个字符串数组并为其赋值。

9. 初始化一个名为toCheck的字符串变量,该变量将包含要检查的值。

10. 调用isAvailable()函数,并将字符串数组和toCheck变量作为参数传递给它。

11. 将函数返回的值存储在一个单独的变量中。

12. 在屏幕上打印结果。

结论

我们成功编译并执行了Golang程序代码,以检查元素是否存在于数组中。我们使用了两种不同的方法来展示这一点。第一种是直接方法,在其中使用for循环来遍历数组。

在第二种方法中,我们创建了一个函数,并从主函数调用它来进行相同的检查。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程