使用陣列計算平均值的 Go 語言程式


在本教程中,我們將學習如何編寫一個 Go 語言程式,使用陣列計算數字的平均值。我們將在這個示例中建立兩個程式。在第一種方法中,我們使用使用者自定義函式來計算平均值,而在第二種方法中,我們使用 Go 的內建函式來查詢平均值。

方法一:使用陣列計算數字的平均值

在這種方法中,我們將建立一個單獨的函式並將陣列傳遞給它。該函式接受陣列作為引數,然後計算平均值並返回整數結果。

演算法

步驟 1 − 匯入 fmt 包。

步驟 2 − 定義名為 avgOfArray() 的函式。它接受陣列及其長度作為引數,並返回平均值的計算結果。

步驟 3 − 啟動 main() 函式。

步驟 4 − 初始化一個整數陣列並向其中儲存值。然後,在螢幕上列印陣列。

步驟 5 − 將陣列的長度儲存在一個名為 n 的變數中,並透過傳遞所需引數來呼叫 avgOfArray() 函式。

步驟 6 − 在函式中,使用for迴圈迭代陣列,並透過使用每個陣列元素更新 sum 變數來計算其總和。

步驟 7 − 計算出總和後,透過將總和除以陣列的長度來查詢平均值,並將結果儲存在一個名為 avg 的變數中。

步驟 8 − 將平均值儲存在一個名為 result 的變數中,並使用 fmt.Println() 函式在螢幕上列印它。

示例

使用陣列計算數字平均值的 Go 語言程式。以下程式碼說明了如何使用使用者自定義函式查詢陣列的平均值。

package main
import "fmt"

// defining a function to find average
func avgOfArray(array [4]int, n int) float64 {
   var sum int = 0
   var i int = 0
   for i = 0; i < n; i++ {
      sum += (array[i])
   }
   var avg float64 = float64(sum) / float64(n)
   return avg
}
func main() {
   arr1 := [4]int{10, 20, 30, 40}
   fmt.Println("The given array whose average we wish to calculate is:", arr1)
   var n int = len(arr1)
   
   // calling avgOfArray() function
   result := avgOfArray(arr1, n)
   fmt.Println("The average of the above mentioned array is:", result)
}

輸出

The given array whose average we wish to calculate is: [10 20 30 40]
The average of the above mentioned array is: 25

解釋

在這個程式中,在匯入 fmt 包並建立函式之後,我們呼叫 main() 函式,初始化一個整數陣列併為其賦值,並將陣列傳遞給函式。然後儲存獲得的結果並在螢幕上列印它。

方法二:使用內建函式查詢陣列的平均值

在這種方法中,我們將使用 Go 語言中的預定義函式來計算陣列元素的平均值。我們將使用的函式是:make()、append() 和 len()。

演算法

步驟 1 − 匯入 fmt 包。

步驟 2 − 建立 main() 函式。

步驟 3 − 使用 make() 函式建立一個容量為 0、長度為 5 的陣列。

步驟 4 − 初始化一個整數變數來儲存陣列變數的總和,並使用 append() 函式將整數值新增到陣列中。

步驟 5 − 使用 range() 函式迭代陣列,並透過向其中新增值來更新 sum 變數。

步驟 6 − 現在,要計算陣列的平均值,請將 sum 變數除以陣列的長度,並將結果儲存在 avg 變數中。

步驟 7 − 使用 fmt.Println() 函式在螢幕上列印最終結果。

語法

func make ([] type, size, capacity)

Go 語言中的make函式用於建立陣列/對映,它接受要建立的變數的型別、其大小和容量作為引數。

func len(v Type) int

len() 函式用於獲取任何引數的長度。它將一個引數作為資料型別變數(我們希望查詢其長度的變數)作為引數,並返回一個整數值,即該變數的長度。

func append(slice, element_1, element_2…, element_N) []T

append 函式用於向陣列切片新增值。它接受多個引數。第一個引數是要向其新增值的陣列,後跟要新增的值。然後,該函式返回包含所有值的最終陣列切片。

示例

使用內建函式查詢陣列平均值的 Go 語言程式。

package main
import "fmt"
func main() {
   
   // Create the array
   array := make([]int, 0, 5)
   array = append(array, 1, 2, 3, 4, 5)
   var sum int = 0
   for _, val := range array {
      sum = sum + val
   }
   fmt.Println("The given array is:", array)
   
   // Calculate the average of array elements
   avg := sum / len(array)
   fmt.Println("Average of above array is:", avg)
}

輸出

The given array is: [1 2 3 4 5]
Average of above array is: 3

解釋

在這個程式中,在匯入 fmt 包並呼叫 main() 函式之後,我們初始化一個整數陣列併為其賦值。然後,透過使用 for 迴圈,我們計算陣列中每個元素的總和,並透過將總和除以陣列的長度來查詢平均值。

結論

我們已經成功編譯並執行了一個 Go 語言程式,使用陣列獲得平均值以及示例。在第一個示例中,我們建立了一個外部函式來查詢陣列的平均值,而在第二個示例中,我們使用 Go 中的預定義函式來獲得結果。

更新於:2023年1月6日

瀏覽量 1K+

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告