Golang程序 检查数组是否包含某个给定值
在本教程中,我们将学习如何检查一个给定值是否存在于Go-lang数组中。我们将使用2种方法来实现这一目标。
方法1:直接在主函数中使用for循环
我们将使用for循环来遍历Golang中的数组元素,并使用平等运算符来检查数值是否相等。如果数值匹配,我们就可以停止迭代,并说给定的数值存在于数组中。
方法2:使用函数
Golang没有任何预先定义的库函数方法,所以我们需要创建自己的函数。
例1:Golang程序检查一个数组是否包含一个特定值
语法
var array_name [length] Type
在Golang中,要初始化一个数组,我们需要指定三件事。首先是数组的名称,其次是它的大小,然后是我们希望存储在其中的数值的数据类型。
例如,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:使用函数检查数组是否包含特定元素的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() 函数,它需要两个参数,一个是字符串数组,另一个是我们希望检查的字符串。该函数返回一个布尔值,即真或假。
4.在这个循环中,我们使用for循环来迭代数组。
5.然后我们使用if条件来检查可用的字符串是否存在于数组中。
6.如果它存在,则返回true。否则该函数将返回false。
7.启动 main() 函数。
8.初始化一个字符串数组并为其赋值。
9.初始化一个数据类型为字符串的 toCheck 变量,它将包含要检查的值。
10.调用 isAvailable() 函数,并将字符串数组和 toCheck 变量作为参数传递给它。
11.将该函数返回的值存储在一个单独的变量中。
12.在屏幕上打印结果。
总结
我们已经成功地编译并执行了Golang程序代码来检查元素是否存在于数组中。我们使用了2种不同的方法来说明这一点。首先是直接方法,我们用for循环来迭代数组。
在第二种方法中,我们创建了一个函数并从主函数中调用它来检查。