Golang的数组
Golang数组
package main
import "fmt"
func main() {
// 定义一个长度为10,元素类型为string的值
li2 := [10]string{}
//循环数组
for i ,v := range li2{
fmt.Printf("索引:%d,元素:%s \n",i,v)
}
// 给数组中某个元素赋值
li2[1] = "miao"
//调用search
search(li2)
fmt.Println(li2)
}
// 定义一个方法,传入的参数是数组,并在数组中修改索引为2的元素
func search(array [10]string) {
array[2] = "123"
fmt.Println(array)
}
数组的切片:
package main
import "fmt"
func main() {
/*
//定义一个数组
var myArray[5]int = [5]int{1,2,3,4,5}
//基于数组创建一个数组切片
var mySile[]int = myArray[:3]
//输出MyArray中所有的元素
fmt.Print("MyArray:")
for _,v := range myArray{
fmt.Print(v," ")
}
fmt.Print("\nMySile:")
for _,v := range mySile{
fmt.Print(v," ")
}
// Go语言支持Myarray[first:last]进行切片生成数组
fmt.Print("\nMyArray[2:4]:")
for _,v := range myArray[2:4]{
fmt.Print(v)
}
*/
// 数组切片的其他方法
myArray := make([]int,5,10) //make第二个参数是数组的长度,第三个参数是数组的总长度
mysile := []int{1,2,3}
myArray = append(myArray,mysile[2]) // 使用append向数组myArray添加三个参数,参数也可以是一个切片
myArray = append(myArray,1,2,3)
fmt.Println(myArray)
//mySile := []int{6,7,8}
// cap() len()
// cap()函数返回的是数组切片分配的空间大小,len()函数返回的是数组切片中当前所存储的元素个数
fmt.Printf("map(myArray):%d \n",cap(myArray))
fmt.Printf("len(myArray):%d",len(myArray))
}
基于数组切片创建数组切片与 copy的使用
myArray := make([]int, 10, 20)
// 切片1
mySile1 := myArray[2:8]
fmt.Println(mySile1)
//基于切片1创建数组切片
mySile2 := mySile1[2:4]
fmt.Println(mySile2)
/*
虽然mySile1只包含5个元素。只要这个选择的范围不超
过myArray存储能力(即cap()返回的值),那么这个创建程序就是合法的。mySile2中超出
mySile1元素的部分都会填上0。
*/
///////////////////// 内容复制 /////////////////
slice1 := []int{1,2,3,4,5}
slice2 := []int{5,4,3}
fmt.Println(slice1,slice2,"\n")
copy(slice2,slice1) // 只会复制slice1的前3个元素到slice2中
copy(slice1,slice2) // 只会复制slice2的3个元素到slice1的前3个位置
fmt.Println(slice1,slice2)
Golang的数组的更多相关文章
- Golang 入门 : 数组
数组是指一系列同一类型数据的集合.数组中包含的每个数据被称为数组元素(element),这种类型可以是任意的原始类型,比如 int.string 等,也可以是用户自定义的类型.一个数组包含的元素个数被 ...
- Golang的数组初始化方式及for-range遍历
package main import ( "fmt" ) func main() { ]], , } //定义并初始化长度为3的数组 fmt.Println(arr1) //[1 ...
- [golang note] 数组切片
数组 √ golang数组包含的每个数据称为数组元素(element),数组包含的元素个数被称为数组长度(length). √ golang数组的长度在定义后不可更改,并且在声明时可以是一个常量或常量 ...
- golang json数组拼接
2016年06月16日 15:38:25 阅读数:2575 标签: golangjson数组 更多 个人分类: golang func main() { a := []byte(`{"P ...
- golang中数组指针与指针数组的区别实现
指针数组和数组的指针,指的是两个不同的东西. 指针数组是有指针组成的数组,数组的指针是一个数组的指针. package main import "fmt" const MAX ...
- golang笔记——数组与切片
一.切片的定义 我们可以从数组(go语言中很少直接使用数组)或者切片来初始化一个新的切片,也可以直接通过 make 来初始化一个所有元素为默认零值的切片. //1.通过数组来初始化切片 arr := ...
- 深入学习golang(1)—数组与切片
数据(array)与切片(slice) 数组声明: ArrayType = "[" ArrayLength "]" ElementType . 例如: va ...
- GOLang(数组操作随篇)
创建一个类似PHP Array $data["userInfo"] = ["name"=>"Josn","ages" ...
- golang 修改数组中结构体对象的值的坑
对对象数组逐个修改元素属性时候没有成功,代码如下: for _, configure := range configures { configure.Price = specPriceMap[conf ...
随机推荐
- 2018 HDU多校第四场赛后补题
2018 HDU多校第四场赛后补题 自己学校出的毒瘤场..吃枣药丸 hdu中的题号是6332 - 6343. K. Expression in Memories 题意: 判断一个简化版的算术表达式是否 ...
- 【剑指Offer学习】【所有面试题汇总】
剑指Offer学习 剑指Offer这本书已经学习完了,从中也学习到了不少的东西,现在做一个总的目录,供自已和大家一起参考,学如逆水行舟,不进则退.只有不断地学习才能跟上时候,跟得上技术的潮流! 所有代 ...
- 泛在电力物联网建设大纲ppt
“三型两网”,国家电网在2019年提出的新战略目标.其中,“两网”分别代表着,“坚强智能电网”和“泛在电力物联网”.“坚强智能电网”的概念已经随着特高压的持续建设而被大家渐渐熟知,那么“泛在电力物联网 ...
- 有价值的IPFS博客
前一阵子研究IPFS,回头找资料有些找不到,再次汇总一下有价值的IPFS资料 戴嘉乐-IPFS的本质架构及应用:https://blog.csdn.net/u012357002/article/d ...
- Xshell配置使用linux的图形界面
1.配置Xshell如下图 2.在命令行中执行"gnome-panel". 3.或者使用xstart,配置如下图:
- ldap 导出、导入ldif数据
ldap 导出.导入ldif数据有如下方式: 1.dsadm(速度快,需要停止ldap实例) 2.dsconf(速度慢,需要保持ldap实例开启) windows导出.导入需要加上参数--unsecu ...
- 如何推进企业流程体系建设?_K2 BPM
推进全集团统一的流程体系为什么比想象的难? 很多企业在推进全集团的流程管理过程中,经常会有一种“望山跑死马”的感觉.“各成员公司都建立起与集团公司统一的流程管理体系”,看似很简单一件事情,但没有经过良 ...
- Asp .Net Core Spa (一) - 入门
第一次写文章, 很久之前就想写来着了, 文章哪里不清楚的, 也请多多提出意见. 最近发现用 .net core + spa (single page application) 这个组合的人也变多了, ...
- 在Eclipse中Tomcat配置图片保存路径
在上一篇二维码功能实现的时候发现,若将二维码保存在项目路径下,服务器起了之后存入的二维码图片是无法实时读取的,所以在Tomcat上配置图片保存位置,将图片保存到项目外的地方. 查找资料的时候看见一个方 ...
- 安装vue脚手架和vue安装element-ui
首先下载安装node.js,因为vue依赖node.js,然后用npm安装vue,步骤如下: 安装成功后安装element-UI,步骤如下: 完成后用npm run dev 运行项目.