Go 语言程序检查数组是否包含给定值
在本教程中,我们将学习如何检查给定值是否出现在 Go 语言数组中。我们将使用两种方法来实现。
方法 1:在主函数中直接使用 for 循环
我们将使用 for 循环迭代 Go 语言数组中的元素,并使用等号运算符检查值的相等性。如果值匹配,则可以停止迭代并说明给定值存在于数组中。
方法 2:使用函数
Go 语言没有为此提供任何预定义的库函数方法,因此我们需要创建自己的函数。
示例 1:Go 语言程序检查数组是否包含特定值。
语法
var array_name [length] Type
在 Go 语言中初始化数组,我们需要指定三件事。第一个是数组的名称,然后是其大小,然后是我们希望存储在其中的值的类型。
例如,var number[10] int – 这将初始化一个名为 number 的整数类型数组,并在连续的内存位置分配 10 个内存空间来存储值。
算法
步骤 1 − 导入包 fmt。
步骤 2 − 启动函数 main()。
步骤 3 − 声明并初始化一个数组、一个 int 类型的变量和一个布尔变量。
步骤 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:使用函数检查 Go 语言程序数组是否包含特定元素
语法
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. 在屏幕上打印结果。
结论
我们已成功编译并执行了 Go 语言程序代码以检查元素是否存在于数组中。我们使用了两种不同的方法来演示这一点。第一种是直接方法,我们使用 for 循环迭代数组。
在第二种方法中,我们创建了一个函数并从主函数中调用它来检查相同的内容。
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP