1.golang中的数组和c语言中的数组在一定程度上是一样的,包括元素的访问等,都是从0到len-1;
但是golang中的数组有几个新的特性,包括:
a. 可以使用len获得数组的长度
b. 可以使用range来遍历访问容器中的元素,类似于foreach.例如
fmt.Println("myArray:")
for i,v:= range myArray{
fmt.Println(i,v);
}
golang中的数组和c语言中的数组在一定程度上是一样的,包括元素的访问等,都是从0到len-1;
但是golang中的数组有几个新的特性,包括:
a. 可以使用len获得数组的长度
b. 可以使用range来遍历访问容器中的元素,类似于foreach.例如
package main
import (
"fmt"
)
func main(){
/*
one way:基于原生数组创建
*/
var myArray int = int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
var mySlice int = myArray
/*
second way: 使用make直接创建
*/
mySlice1 := make(int,5) //出事元素个数是5,且都为0 generate
mySlice2 := make(int, 5, 10) //容量是10
mySlice3 := int{1,2,3,4,5} //元素是1,2,3,4,5的切片。
/*
third way: 基于已有的切片进行创建
*/
oldSlice := int{1, 2, 3, 4, 5}
newSlice := oldSlice // 基于oldSlice的前3个元素构建新数组切片
fmt.Println("myArray:")
for i,v:= range myArray{
fmt.Println(i,v);
}
fmt.Println("mySlice:")
for i,v:= range mySlice{
fmt.Println(i,v);
}
fmt.Println("mySlice1:")
for i,v:= range mySlice1{
fmt.Println(i,v);
}
fmt.Println("mySlice2:")
for i,v:= range mySlice2{
fmt.Println(i,v);
}
fmt.Println("mySlice3:")
for i,v:= range mySlice3{
fmt.Println(i,v);
}
fmt.Println("oldSlice:")
for i,v:= range oldSlice{
fmt.Println(i,v);
}
fmt.Println("newSlice:")
for i,v:= range newSlice{
fmt.Println(i,v);
}
length := len(newSlice)
fmt.Println("NewSlice len :",length);
}
1.golang中的数组和c语言中的数组在一定程度上是一样的,包括元素的访问等,都是从0到len-1;
但是golang中的数组有几个新的特性,包括:
a. 可以使用len获得数组的长度
b. 可以使用range来遍历访问容器中的元素,类似于foreach.例如
fmt.Println("myArray:")
for i,v:= range myArray{
fmt.Println(i,v);
}
golang中的数组和c语言中的数组在一定程度上是一样的,包括元素的访问等,都是从0到len-1;
但是golang中的数组有几个新的特性,包括:
a. 可以使用len获得数组的长度
b. 可以使用range来遍历访问容器中的元素,类似于foreach.例如
package main
import (
"fmt"
)
func main(){
/*
one way:基于原生数组创建
*/
var myArray int = int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
var mySlice int = myArray
/*
second way: 使用make直接创建
*/
mySlice1 := make(int,5) //出事元素个数是5,且都为0 generate
mySlice2 := make(int, 5, 10) //容量是10
mySlice3 := int{1,2,3,4,5} //元素是1,2,3,4,5的切片。
/*
third way: 基于已有的切片进行创建
*/
oldSlice := int{1, 2, 3, 4, 5}
newSlice := oldSlice // 基于oldSlice的前3个元素构建新数组切片
fmt.Println("myArray:")
for i,v:= range myArray{
fmt.Println(i,v);
}
fmt.Println("mySlice:")
for i,v:= range mySlice{
fmt.Println(i,v);
}
fmt.Println("mySlice1:")
for i,v:= range mySlice1{
fmt.Println(i,v);
}
fmt.Println("mySlice2:")
for i,v:= range mySlice2{
fmt.Println(i,v);
}
fmt.Println("mySlice3:")
for i,v:= range mySlice3{
fmt.Println(i,v);
}
fmt.Println("oldSlice:")
for i,v:= range oldSlice{
fmt.Println(i,v);
}
fmt.Println("newSlice:")
for i,v:= range newSlice{
fmt.Println(i,v);
}
length := len(newSlice)
fmt.Println("NewSlice len :",length);
}