golang数组
定义数组
var n [ 10 ] int
快速初始化
package main
import "fmt"
func main ( ) {
var i, j, k int
balance := [ 5 ] float32 { 1000.0 , 2.0 , 3.4 , 7.0 , 50.0 }
for i = 0 ; i < 5 ; i++ {
fmt. Printf ( "balance[%d] = %f\n" , i, balance[ i] )
}
balance2 := [ ... ] float32 { 1000.0 , 2.0 , 3.4 , 7.0 , 50.0 }
for j = 0 ; j < 5 ; j++ {
fmt. Printf ( "balance2[%d] = %f\n" , j, balance2[ j] )
}
balance3 := [ 5 ] float32 { 1 : 2.0 , 3 : 7.0 }
for k = 0 ; k < 5 ; k++ {
fmt. Printf ( "balance3[%d] = %f\n" , k, balance3[ k] )
}
}
二维数组
1、简单创建
func main ( ) {
values := [ ] [ ] int { }
row1 := [ ] int { 1 , 2 , 3 }
row2 := [ ] int { 4 , 5 , 6 }
values = append ( values, row1)
values = append ( values, row2)
fmt. Println ( "Row 1" )
fmt. Println ( values[ 0 ] )
fmt. Println ( "Row 2" )
fmt. Println ( values[ 1 ] )
fmt. Println ( "第一个元素为:" )
fmt. Println ( values[ 0 ] [ 0 ] )
}
2、暴力创建
package main
import "fmt"
func main ( ) {
a := [ 3 ] [ 4 ] int {
{ 0 , 1 , 2 , 3 } ,
{ 4 , 5 , 6 , 7 } ,
{ 8 , 9 , 10 , 11 } ,
}
fmt. Println ( a)
fmt. Println ( "===================================================" )
b := [ 3 ] [ 4 ] int {
{ 0 , 1 , 2 , 3 } ,
{ 4 , 5 , 6 , 7 } ,
{ 8 , 9 , 10 , 11 } }
fmt. Println ( b)
}
3、添加元素
package main
import "fmt"
func main ( ) {
sites := [ 2 ] [ 2 ] string { }
sites[ 0 ] [ 0 ] = "Google"
sites[ 0 ] [ 1 ] = "Runoob"
sites[ 1 ] [ 0 ] = "Taobao"
sites[ 1 ] [ 1 ] = "Weibo"
fmt. Println ( sites)
}
4、循环嵌套输出元素
package main
import "fmt"
func main ( ) {
var a = [ 5 ] [ 2 ] int { { 0 , 0 } , { 1 , 2 } , { 2 , 4 } , { 3 , 6 } , { 4 , 8 } }
var i, j int
for i = 0 ; i < 5 ; i++ {
for j = 0 ; j < 2 ; j++ {
fmt. Printf ( "a[%d][%d] = %d\n" , i, j, a[ i] [ j] )
}
}
}
5、各数组长度不同
package main
import "fmt"
func main ( ) {
animals := [ ] [ ] string { }
row1 := [ ] string { "qwe" , "asd" , "zxc" }
row2 := [ ] string { "rty" }
row3 := [ ] string { "fgh" , "vbn" }
animals = append ( animals, row1)
animals = append ( animals, row2)
animals = append ( animals, row3)
for i := range animals{
fmt. Printf ( "Row: %v\n" , i)
fmt. Println ( animals[ i] )
}
}
带数组函数
package main
import "fmt"
func main ( ) {
var balance = [ 5 ] int { 1000 , 2 , 3 , 17 , 50 }
var avg float32
avg = getAverage ( balance, 5 )
fmt. Printf ( "平均值为: %f " , avg )
}
func getAverage ( arr [ 5 ] int , size int ) float32 {
var i, sum int
var avg float32
for i = 0 ; i < size; i++ {
sum += arr[ i]
}
avg = float32 ( sum) / float32 ( size)
return avg
}