Runoob-Go-陣列:向函式傳遞陣列
阿新 • • 發佈:2020-08-24
ylbtech-Runoob-Go-陣列:向函式傳遞陣列 |
1.返回頂部 |
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;
}
接下來我們來呼叫這個函式:
例項
packagemainimport"fmt"
funcmain(){
/* 陣列長度為 5 */
varbalance=[5]int{1000,2,3,17,50}
varavgfloat32
/* 陣列作為引數傳遞給函式 */
avg=getAverage(balance,5);
/* 輸出返回的平均值 */
}
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
以上例項中我們使用的形參並未設定陣列大小。
浮點數計算輸出有一定的偏差,你也可以轉整型來設定精度。
例項
packagemainimport(
"fmt"
)
a:=1.69
b:=1.7
c:=a*b // 結果應該是2.873
fmt.Println(c)// 輸出的是2.8729999999999998
}
設定固定精度:
例項
packagemainimport(
"fmt"
)
funcmain(){
a:=1690 // 表示1.69
b:=1700 // 表示1.70
c:=a*b // 結果應該是2873000表示 2.873
fmt.Println(c) // 內部編碼
fmt.Println(float64(c)/1000000)// 顯示
} 2、
2.返回頂部 |
3.返回頂部 |
4.返回頂部 |
5.返回頂部 |
6.返回頂部 |
作者:ylbtech 出處:http://ylbtech.cnblogs.com/ 本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。 |