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 ...
随机推荐
- oracle存储过程出现ORA-01403: 未找到数据 问题解决方法
这段时间在做一个业务,需要用到存储过程处理业务逻辑,但是出现一个ORA-01403: 未找到数据 问题, 那么这个应该如何解决这个问题 declare mixType integer; begin - ...
- sqlserver 数据库关于存储xml字段里内容的查找与替换
1.传送门 : http://www.cnblogs.com/GuoPeng/archive/2009/12/11/1621527.html 2.复制原帖的修改部分: 修改:@xml . modi ...
- thinkpaidE480office安装文件夹
C:\Program Files (x86)\Microsoft Office\root\Office16 需要嵌入office的小伙伴自行百度吧教程吧,网上有很多的
- aop表达式
任意公共方法的执行: execution(public * *(..)) 任何一个以“set”开始的方法的执行: execution(* set*(..)) AccountService 接口的任意方 ...
- UML之领域建模
一 定义:领域建模是对领域内的概念类或现实世界中对象的可视化表示.又称概念模型.领域对象模型.分析对象模型.它专注于分析问题领域本身,发掘重要的业务领域概念,并建立业务领域概念之间的关系.业务对象模型 ...
- Linux安装TeamViewer
1.下载teamview centos版本 官网只有rpm版本,附件中即为官网下载的teamview最新版本 (下载tar包方式,我这里打不开teamviewer的界面,所以这里不推荐) 官方下载地址 ...
- 简单gulp.js
引入相对应的文件 let gulp = require("gulp"); let inject = require("gulp-inject"); let cl ...
- 决策树(ID3、C4.5、CART)
ID3决策树 ID3决策树分类的根据是样本集分类前后的信息增益. 假设我们有一个样本集,里面每个样本都有自己的分类结果. 而信息熵可以理解为:“样本集中分类结果的平均不确定性”,俗称信息的纯度. 即熵 ...
- tensorflow tfrecord文件存储
import tensorflow as tf import numpy as np import skimage from skimage import data, io, color from P ...
- 未知高度的div自适应图片高度
<div style="background-image: url(http://your-image.jpg);"> <img src="http:/ ...