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 迴圈迭代陣列。
在第二種方法中,我們建立了一個函式並從主函式中呼叫它來檢查相同的內容。