06 数组和切片

golang 数组、切片、map 06 1. close:主要用来关闭channel 2. len:用来求长度,比如string、array、slice、map、channel 3. new:用来分配内存,主要用来分配值类型,比如int、struct。返回的是指针 4. make:用来分配内存,主要用来分配引用类型,比如chan、map、slice 5. append:用来追加元素到数组、slice中 6. panic和recover:用来做错误处理 go get安装第三方包 //数组 func Array01() { lenN :=. 阅读详情

一、数组

1.定义

//数组的长度是类型的一部分
//如果不初始化,默认值为零值(布尔值为false)
var a1 [4]bool
var a2 [3]int

2.初始化

//初始化1
var a1 [4]bool
var a2 [3]int

a1 = [4]bool{true, true, true, true}
a2 = [3]int{12, 23, 34}

//初始化2
a3 := [4]bool{true, true, true, true}
a4 := [3]int{12, 23, 34}
a5 := [3]int{12, 23}		//后边自动补0

//初始化3,根据初始值自动推断长度
a6 := [...]int{1, 2, 2, 3, 3, 4}

//初始化4,根据索引初始化
a7 := [5]int{0: 12, 3: 23}

3.遍历

citys := [5]string{"beijing", "shanghai", "taiyuan", "datong", "nanjing"}

//方法1
for i := 0; i < len(citys); i++ {
	fmt.Println(citys[i])
}

//方法2
for i, v := range citys {
	fmt.Println(i, v)
}

二、多维数组

1.定义

//方法1:多维数组定义
var a1 [3][2]int
a1 = [3][2]int{
	[2]int{1, 2},
	[2]int{3, 4},
	[2]int{5, 6},
}

fmt.Println(a1)

//方法2:多维数组定义
var a1 [3][2]int = [3][2]int{
	[2]int{1, 2},
	[2]int{3, 4},
	[2]int{5, 6},
}

2.遍历

var a1 [3][2]int = [3][2]int{
	[2]int{1, 2},
	[2]int{3, 4},
	[2]int{5, 6},
}

for _, v := range a1 {
	fmt.Println(v)
}

三、切片

1.定义

//切片定义
var a1 []int = []int{1, 2, 3}
var a2 []string = []string{"hello", "world"}
a2 := []string{"hello", "world"}

2.由数组得到切片

//切片定义
a := [...]int{1, 2, 3, 4, 5, 6, 7}
s1 := a[2:4] //[3 4]
s2 := a[:4]  //[1 2 3 4]
s3 := a[4:]  //[5 6 7]
s4 := a[:]   //[1 2 3 4 5 6 7]

3.切片的长度和容量

a := [...]int{1, 2, 3, 4, 5, 6, 7}
s1 := a[2:4] //[3 4]
s2 := a[:4]  //[1 2 3 4]
s3 := a[4:]  //[5 6 7]

//切片的长度等于切片的元素数量,切片的容量等于底层数组从切片第一个元素到最后的元素数量
fmt.Println(len(a), cap(a))   //7 7
fmt.Println(len(s1), cap(s1)) //2 5
fmt.Println(len(s2), cap(s2)) //4 7
fmt.Println(len(s3), cap(s3)) //3 3

4.切片再切片

a := [...]int{1, 2, 3, 4, 5, 6, 7}
s1 := a[2:]   //[3 4 5 6 7]
s2 := s1[2:4] //[5 6]

fmt.Println(a, s1, s2) 
fmt.Println(len(s2), cap(s2))	//len=2 cap=3

//数组为值类型,切片为引用类型
//修改切片就是修改底层数组
a := [...]int{1, 2, 3, 4, 5, 6, 7}
s := a[:] //[1 2 3 4 5 6 7]

fmt.Println(a) //[1 2 3 4 5 6 7]
s[2] = 100
fmt.Println(a) //[1 2 100 4 5 6 7]

5.切片追加元素append

s1 := []string{"北京", "上海", "深圳"}

//方法1
s1 = append(s1, "广州", "杭州")

//方法2
s2 := []string{"西安", "成都", "南京"}
s1 = append(s1, s2...) //...表示拆开

6.切片拷贝copy

s1 := []string{"北京", "上海", "深圳"}
s2 := []string{"广州", "杭州"}

copy(s1, s2)

fmt.Println(s1) //[广州 杭州 深圳]
Numpy数组的重塑,转置与切片 (Numoy篇-06) Numpy数组的重塑,转置与切片 阅读详情

相关推荐

基于PID的定速巡航控制系统设计【MATLAB源码+Word文档】

本文详细介绍了定速巡航控制是一种车辆驾驶辅助系统,它能让驾驶者在高速或长途驾驶时,设定一个固定的车速,然后车辆会自动维持这个速度行驶,无需驾驶者持续踩油门。这大大减轻了驾驶者的疲劳,同时也提高了行驶的安全性。PID定速巡航控制系统是一种利用比例(Proportional)、积分(Integral)和微分(Derivative)控制算法来实现车辆定速巡航的先进系统。这种系统能够根据设定的速度,自动调整油门开度或制动力度,使车辆保持恒定的速度行驶。这种控制系统具有响应速度快、控制精度高、稳定性好等优点。

weixin_761237174的博客 1669

numpy基础——对数组切片操作

创建 首先创建一个多维数组: a = numpy.arange(24).reshape((2,3,4)) print(a) 结果是: [[[ 0  1  2  3]   [ 4  5  6  7]   [ 8  9 10 11]]  [[12 13 14 15]   [16 17 18 19]   [20 21 22 23]]] 切片操作 切片操作有几个常用符号,分别是‘:’   ...

步步拾遗 1274

ValueError:Using a `device_map`, `tp_plan`, `torch.device` context manager or setting `torch.set解决方案

本文主要介绍了ValueError:Using a `device_map`, `tp_plan`, `torch.device` context manager or setting 'torch.set_default_device(device)` requires `accelerate`解决方案,希望能对使用transformers的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 3万+

第四节-数组

这里写目录标题1.一维数组的创建和初始化。1.1数组的创建1.2 数组的初始化1.3 一维数组的使用1.4 一维数组在内存中的存储2. 二维数组的创建和初始化2.1二维数组的创建2.2 二维数组的初始化2.3 二维数组的使用2.4 二维数组在内存中的存储3. 数组越界4.数组作为函数参数4.1 冒泡排序函数的错误设计4.2 数组名是什么?4.2.1一维数组数组名4.2.2 二维数组数字名4.3 冒泡排序函数的正确设计5. 数据实例:5.1 数组的应用实例1:三子棋5.2 数组的应用实例2:扫雷游戏 1.一维

qq_62767335的博客 709

为什么 CL_DEMO_OUTPUT 不能用于生产用途:不仅是 demo 标签那么简单

摘要:CL_DEMO_OUTPUT 虽能快速展示ABAP数据,但存在严重生产风险:1) 官方定位为示例工具,不承诺兼容性与支持;2) 非Released API,云环境直接不可用;3) 依赖SAP GUI,缺乏日志关键特性;4) 存在版本漂移、类型限制、性能隐患及安全缺口。典型事故案例包括后台Job崩溃、Gateway链路污染和云迁移失败。生产环境应改用结构化日志(如SLG1)或稳定API输出,避免将调试工具误作工程方案。(149字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 131

SAP FAGLFLEXT 是 SAP 新总账的核心余额表,存储多维度的汇总余额数据。核心结论:该表按 “科目 + 会计年度 + 期间 + 维度” 存储累计余额,字段可分为基础标识

FAGLFLEXT是SAP新总账的核心余额表,采用"科目+年度+期间+维度"结构存储多维汇总数据。其字段分为基础标识(科目、年度等)、维度细分(公司代码、利润中心等15个维度)、金额数值(本外币余额)、辅助控制(状态标识)四大类,支持新总账的灵活核算。该表通过凭证自动更新,与旧总账GLT0相比显著扩展了维度核算能力,各维度需在科目主数据或Ledger配置中启用才能使用。

金牌架构师 454

2020-10-21

Numpy数据类型 名称 描述 bool_ 布尔型数据类型(True 或者 False) int_ 默认的整数类型(类似于 C 语言中的 long,int32 或 int64) intc 与 C 的 int 类型一样,一般是 int32 或 int 64 intp 用于索引的整数类型(类似于 C 的 ssize_t,一般情况下仍然是 int32 或 int64)...

weixin_46251367的博客 310

CAP CDS 和 ABAP Cloud 的 CDS 有什么区别?

摘要:SAP生态中的CAP CDS与ABAP CDS虽同名但存在显著差异。CAP CDS定位为全栈应用的领域模型与服务契约语言,支持声明式建模并直接编译为服务接口;而ABAP CDS更侧重数据语义层,与ABAP平台深度集成,服务于SQL优化和服务发布链路。两者在语法、持久化方式、服务暴露机制及权限模型上均有不同:CAP CDS采用CDL语法,支持模型即服务;ABAP CDS基于ABAP DDL,通过视图定义语义并与RAP框架紧密耦合。这些差异反映了二者在不同平台中的设计哲学和应用场景。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 205

头歌数组定义及操作在线实验闯关

③ 返回计算结果Max_A,Min_A,cos_A,sin_A,le_A,result。#3.水平连接数组A和数组B,获得数组C,并返回计算结果C。#2.逻辑索引I对数组1,3列切片,并返回计算结果B。#④ 默认初始值0,步长为1的,末值为9的一维数组。#在函数中定义以上数组,并返回计算结果l1,l2。#3.对数组A切片取出6,7,14,16。#③ 初始值为2、末值为9、步长为2的数组。#⑤ 返回计算结果A,B,C,D。#① 3行3列元素全为1的数组。#② 3行3列元素全为0的数组。

JS74110的博客 7640

多模态论文笔记——CogVLM和CogVLM2

本文详细介绍LoRA版本的多模态模型——CogVLM和CogVLM2。在SD3中使用其作为captioner基准模型的原因和优势。

haopinglianlian的博客 2203

pg lib的信息及产生pg lib的三种方法

pg lib相比basic lib会多几方面pg 信息。除了pg arc(pg pin)以外,liberty还提供电压值,以及pmk cell的power_down_function功能相关信息。1.电压值除了常见的primary pg还有secondary pg和衬底。2.pg arc后端需要去做redhawk功耗分析,需要pg liberty提供pg arc,如果没有pg arc就需要手动去写custom lib代替3.pmk cell的power_down_function。

m0_61544122的博客 595

二维数组的切片和运算操作

首先导入模块 import numpy as npy 创建数组: s = npy.array([[ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ] , [ 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 ] , [ 21 , 22 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 ]]...

qq_43541507的博客 6390

17、自适应和学习索引:在线物理设计调整的新维度

本文探讨了现代数据库管理系统中自适应索引和数据库裂解的新方法,通过结合学习模型与多臂老虎机(MAB)框架,实现在线物理设计调整。文章详细介绍了自适应索引的工作原理、数据库裂解技术以及如何利用机器学习进行索引选择和优化,并讨论了MAB框架在动态调整索引结构中的应用及其实际案例。

go5gopher的博客 81

06 数组、切片和map

文章目录数组切片String和slice 数组 数组可以存放多个相同类型的数据 数组定义:var 数组名[数组大小] 数据类型 数组元素的访问:数组名[下标] ,下标从0 开始 数组的地址可以通过 数组名来获得 &数组名 数组中各个元素地址间隔是根据数组中数据类型决定的 ,如:int64 ->8 int32->4 注意事项 一旦声明数组长度固定不能动态变化 var arr[] int 这样定义时,其实是定义了一个切片 数组中的元素可以是任何数据类型,但是不能混用 数组创建后如果没有赋值

zhangxm_qz的博客 361

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

06-Go语言中数组和切片

基本语法: 数组的声明 注意事项数组的长度必须是常量,并且长度是数组类型的一部分.数组支持索引访问 、,索引的合法范围:~,不支持负数索引。代码展示 数组初始化 方式1初始化数组时可以使用初始化列表设置数组元素的值。 方式2刚开始无法确定数组长度时,一般情况下我们可以让编译器根据初始值的个数自行推断数组的长度,数组长度用: 方式3指定索引值初始化数组: 数组的遍历 方式1 方式2 多维数据 这里以二维数组为例,三维数组、四维数组类似。二维数组的定义 二维数组的遍历方式1:索引遍历 方式2:for ra.

weixin_38753143的博客 464

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Go语言现代web开发06 数组和切片

当我们使用make()函数时,将创建一个新的数组,用指定类型的默认值初始化,并返回一个指向数组的切片。在下一个示例中,将创建一个新片,其中将包含索引为基础数组1到5的元素。Length表示片包含的元素数量,而capacity表示底层数组中的元素数量(从片的第一个元素开始计数)。数组是复杂的数据类型,可以定义为具有相同类型的元素的集合。数组的元素可以初始化。在没有初始化的情况下,将给元素分配默认值(在本例中,数组的所有六个元素都将初始化为值0)。这个表达式将创建一个长度为5的数组和一个引用该数组的切片。

未来已来,AI时代,学AI编程,做AI量化,就来大鹏AI教育。 1569

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Go基础06:数组、切片和Map

数组 数组是一个由固定长度的特定类型元素组成的序列,一个数组可以由零个或多个元素组成。因为数组的长度是固定的,所以在 Go 语言中很少直接使用数组。 数组的声明 package main import "fmt" func main() { // 方式一:先定义,再赋值 var a [3]int a[0] = 1 a[1] = 2 fmt.Println(a) // [1 2 0] // 方式二:定义时赋值 b := [3]int{1, 2, 3} fmt.Println(b) //

qq_30001669的博客 342

06. numpy-数组的索引切片和遍历

和Python里的列表类似,NumPy里的ndarray也支持索引和下标操作数据。 索引 可以直接使用下标来获取和修改数组里的数据。 na1 = np.array([8, 4, 9, 1, 7]) print(na1[0]) # 一维数组可以直接使用下标获取指定位置上的元素 print(na1) na1[0] = 10 # 可以通过下标来修改元素 print(na1) na2 = np.random.randint(3, 10, size=(3, 5, 2)) # 多维数组有两种方式获取指定

NY_0907的博客 1356

Go语言入门到实战——06.Go语言里的数组和切片

Go语言入门到实战——00主目录 在上一讲中我们学习了Go语言的条件循环知识。 一.数组的声明 package typetest import "testing" func TestArray(t *testing.T) { var a [3]int //1.定义一个一维三元素的数组,未进行初始化值均为0 b := [4]int{1, 2} //2.初始化一个数组,赋值b[0]=1,b[1]=2;但是b[2]及以后默认为0 c := [2][2]int{{1, 2}, {3, 4}} //3.初始

qq_44932835的博客 540

python数组切片

NumPy是Python中用于科学计算的一个库,它提供了对大规模多维数组和矩阵的支持。切片(slicing)是从这些数组中提取子数组的一个强大工具。NumPy切片是一种强大且灵活的工具,用于从数组中提取子集。除了基础的切片,NumPy还支持一些高级切片技术,如布尔索引和花式索引(fancy indexing)。对于多维数组,切片操作适用于每一个维度。这个例子展示了如何使用切片从数据集中提取目标变量和特征数据。

暴力扬 3045

Task 06 数组、切片

数组 如何定义数组 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整型、字符串或者自定义类型。 数组元素可以通过索引(位置)来读取(或者修改),索引从 0 开始,第一个元素索引为 0,第二个索引为 1,以此类推。 数组声明 Go 语言数组声明需要指定元素类型及元素个数,语法格式如下: var variable_name [SIZE] variable_type 以上为一维数组的定义方式。例如以下定义了数组 balance 长度为 10 类型为 float32:

gccous的博客 166

TASK06:数组、切片

数组 定义 数组是具有相同类型且长度固定的一组连续数据。 var arr1 = [5]int{} var arr2 = [5]int{1,2,3,4,5} var arr2 = [5]int{3:10} //arr1 [0 0 0 0 0] //在声明时没有为其指定初值,所以数组内的值被初始化为类型的零值。 //arr2 [1 2 3 4 5] //使用显示的方式为数组定义初值 //arr3 [0 0 0 10 0] //通过下标的方式为下标为3的位置赋上了初值10 操作数据 通过循环的方式为其赋予初值

weixin_46462735的博客 202

Go语言数组和切片

Go语言的数组和切片教程

怪力乌龟的博客 633

【Go语言学习系列06】Go基础语法(四):数组与切片

深入解析Go语言数组与切片的底层原理,通过实例讲解内存布局、扩容机制与性能优化技巧,掌握这两种核心数据结构的高效使用方法

GopherTribe的博客 1042

go语言day06 数组 切片

定长且元素类型一致,在索引逻辑上连续存储,数组的内存地址是存储的第一个元素的内存地址几种创建方式:仅声明。

weixin_45939821的博客 551

06_切片

由于切片的底层就是一个数组,所以我们可以基于数组定义切片。// 基于数组定义切片b := a[1:4] // 基于数组a创建切片,包括元素a[1],a[2],a[3] 包头不包尾。

学无止境 794
上一篇: 05 运算符
下一篇: 07 指针和map
拼搏的菜鸟
博客等级 码龄10年 9粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拼搏的菜鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值