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
}