[GO语言]數組切片[三]

  • zhangsf_chongza
  • LV5工程师
  • |      2016-12-19 16:52:23
  • 浏览量 1396
  • 回复:6
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);





}

  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:3
犹豫的大三 2016-12-21
go语言的开发工具用什么?
0   回复
举报
发布
zhangsf_chongza 回复 2016-12-21
atom, eclipse ..................
0   回复
举报
雪狼 2016-12-20
什么是数组切片?
0   回复
举报
发布
zhangsf_chongza 回复 2016-12-21
就是把数组分成几部分
0   回复
举报
雪狼 2016-12-20
哈哈,不提醒我还真没注意到,繁体
0   回复
举报
发布
x
收藏成功!点击 我的收藏 查看收藏的全部帖子