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的数组的更多相关文章

  1. Golang 入门 : 数组

    数组是指一系列同一类型数据的集合.数组中包含的每个数据被称为数组元素(element),这种类型可以是任意的原始类型,比如 int.string 等,也可以是用户自定义的类型.一个数组包含的元素个数被 ...

  2. Golang的数组初始化方式及for-range遍历

    package main import ( "fmt" ) func main() { ]], , } //定义并初始化长度为3的数组 fmt.Println(arr1) //[1 ...

  3. [golang note] 数组切片

    数组 √ golang数组包含的每个数据称为数组元素(element),数组包含的元素个数被称为数组长度(length). √ golang数组的长度在定义后不可更改,并且在声明时可以是一个常量或常量 ...

  4. golang json数组拼接

    2016年06月16日 15:38:25 阅读数:2575 标签: golangjson数组 更多 个人分类: golang   func main() { a := []byte(`{"P ...

  5. golang中数组指针与指针数组的区别实现

      指针数组和数组的指针,指的是两个不同的东西. 指针数组是有指针组成的数组,数组的指针是一个数组的指针. package main import "fmt" const MAX ...

  6. golang笔记——数组与切片

    一.切片的定义 我们可以从数组(go语言中很少直接使用数组)或者切片来初始化一个新的切片,也可以直接通过 make 来初始化一个所有元素为默认零值的切片. //1.通过数组来初始化切片 arr := ...

  7. 深入学习golang(1)—数组与切片

    数据(array)与切片(slice) 数组声明: ArrayType   = "[" ArrayLength "]" ElementType . 例如: va ...

  8. GOLang(数组操作随篇)

    创建一个类似PHP Array $data["userInfo"] = ["name"=>"Josn","ages" ...

  9. golang 修改数组中结构体对象的值的坑

    对对象数组逐个修改元素属性时候没有成功,代码如下: for _, configure := range configures { configure.Price = specPriceMap[conf ...

随机推荐

  1. react - next.js 设置body style

    因为next.js可以用pages文件夹中的js文件进行route,所以不需要public文件夹和html,因此没有body tag. body自带8px的maigin,我想要给整个页面设置背景颜色, ...

  2. GET 和 POST 的区别 以及为什么 GET请求 比 POST请求 更快

    引子: 和朋友的聊天中得知他公司后台接口全部都是 POST 请求, 我表示很纳闷为什么全是 POST 请求呢? GET 比 POST 安全,或者说 便于后台方便,后台不用区分包装类  (所以全部用 P ...

  3. 答题卡作文模块的一种方法-VSTO

    在开始做之前,首先百度了Word有没有简单的生成方法,果然有--页面布局->稿纸设置->方格式稿纸 效果如下图所示.很规范,但是不是答题卡所需要的,因为这样会把所有页面都设置为这样的稿纸. ...

  4. 开源HUSTOJ

    hustoj -- 请一定认真看完本页再动手安装,以免无谓的折腾!====== 根据你选择的发行版不同,从下面三个脚本里选一个来用. <b>不要相信百度来的长篇大论的所谓教程,那些都是好几 ...

  5. linux TOP参数

    TOP参数 top - 01:06:48 up  1:22,  1 user,  load average: 0.06, 0.60, 0.48Tasks:  29 total,   1 running ...

  6. Go 基础 坑

    1.字符串空为"" 2. 传递的数组是原数组的拷贝,所以是无法通过传递数组的方法去修改原地址的数据的.在GO语言中除了切片(slice).集合(map).通道(channel)和接 ...

  7. 解决Python图片处理模块pillow使用中出现的问题

    最近爬一个电影票房的网站(url:http://58921.com/alltime),上面总票房里面其实是一张图片,那么我需要把图片识别成文字,来获取票房数据.   我头脑里第一想到的解决方案就是要用 ...

  8. 使用AES加密的勒索类软件分析报告

    报告名称:  某勒索类软件分析报告    作者:        李东 报告更新日期: 样本发现日期: 样本类型: 样本文件大小/被感染文件变化长度: 样本文件MD5 校验值: da4ab5e31793 ...

  9. spring中基于JDK和CGLIB代理在项目的应用

    一.环境与问题 环境 spring boot的版本是1.2.1.RELEASE.JDK版本是1.7 问题 ​ A服务 PeopleService 调用B服务 HelloService ,其中B服务的方 ...

  10. linux 清理几天前的日志或文件

    执行清理1天前的 war 包 find . -ctime +1 -name "*.war" -exec rm {} \;