1. 程式人生 > 實用技巧 >Runoob-Go-陣列:向函式傳遞陣列

Runoob-Go-陣列:向函式傳遞陣列

ylbtech-Runoob-Go-陣列:向函式傳遞陣列

1.返回頂部
1、

Go 語言向函式傳遞陣列

Go 語言陣列

如果你想向函式傳遞陣列引數,你需要在函式定義時,宣告形參為陣列,我們可以通過以下兩種方式來宣告

方式一

形參設定陣列大小:

void myFunction(param [10]int)
{
.
.
.
}

方式二

形參未設定陣列大小:

void myFunction(param []int)
{
.
.
.
}

例項

讓我們看下以下例項,例項中函式接收整型陣列引數,另一個引數指定了陣列元素的個數,並返回平均值:

例項

funcgetAverage(arr[]int,sizeint)float32
{
variint
varavg,sumfloat32

fori=0;i< size;++i{
sum+=arr[i]
}

avg=sum/size

returnavg;
}

接下來我們來呼叫這個函式:

例項

packagemain

import"fmt"

funcmain(){
/* 陣列長度為 5 */
varbalance=[5]int{1000,2,3,17,50}
varavgfloat32

/* 陣列作為引數傳遞給函式 */
avg=getAverage(balance,5);

/* 輸出返回的平均值 */
fmt.Printf("平均值為: %f ",avg);
}
funcgetAverage(arr[5]int,sizeint)float32{
vari,sumint
varavgfloat32

fori=0;i< size;i++{
sum+=arr[i]
}

avg=float32(sum)/float32(size)

returnavg;
}

以上例項執行輸出結果為:

平均值為: 214.399994

以上例項中我們使用的形參並未設定陣列大小。

浮點數計算輸出有一定的偏差,你也可以轉整型來設定精度

例項

packagemain
import(
"fmt"
)
funcmain(){
a:=1.69
b:=1.7
c:=a*b // 結果應該是2.873
fmt.Println(c)// 輸出的是2.8729999999999998
}

設定固定精度:

例項

packagemain
import(
"fmt"
)
funcmain(){
a:=1690 // 表示1.69
b:=1700 // 表示1.70
c:=a*b // 結果應該是2873000表示 2.873
fmt.Println(c) // 內部編碼
fmt.Println(float64(c)/1000000)// 顯示
}

Go 語言陣列

2、
2.返回頂部
3.返回頂部
4.返回頂部
5.返回頂部
1、 https://www.runoob.com/go/go-passing-arrays-to-functions.html 2、
6.返回頂部
作者:ylbtech
出處:http://ylbtech.cnblogs.com/
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。