golang 中 取切片元素 与 切片再生成切片的区别
func main() { //定义一个切片
a := []byte{1, 2, 3}
fmt.Printf("a的类型%T\n", a) //a的类型[]uint8
fmt.Printf("a原来的值%v\n", a) //a原来的值[1 2 3] //这样[0]没有冒号的情况下,是取切片中的某一个元素的值,就是把切片中某个元素的值复制一份赋值给b
b := a[0]
b >>= 1 //修改b的值,并不会影响切片a底层对应的数组元素的值
fmt.Printf("b的类型%T\n", b) //b的类型uint8
fmt.Printf("a现在的值%v\n", a) //a现在的值[1 2 3] //利用切片a再次生成一个切片,这个切片里只有一个元素,切片是一个指针不能进行移位操作
c := a[:1]
c[0] >>= 1 //在这里对c切片的第一个元素(就是一个byte)进行移位操作,会影响到a
fmt.Printf("c的类型%T\n", c) //c的类型[]uint8
fmt.Printf("c的值%v\n", c) //c的值[0]
fmt.Printf("a后来的值:%v\n", a) //a后来的值:[0 2 3] }
golang 中 取切片元素 与 切片再生成切片的区别的更多相关文章
- 仙人指路,引而不发,Go lang1.18入门精炼教程,由白丁入鸿儒,Golang中New和Make函数的使用背景和区别EP16
Golang只有二十五个系统保留关键字,二十几个系统内置函数,加起来只有五十个左右需要记住的关键字,纵观编程宇宙,无人能出其右.其中还有一些保留关键字属于"锦上添花",什么叫锦上添 ...
- Spring中Bean的命名问题(id和name区别)及ref和idref之间的区别
Spring中Bean的命名 1.每个Bean可以有一个id属性,并可以根据该id在IoC容器中查找该Bean,该id属性值必须在IoC容器中唯一: 2.可以不指定id属性,只指定全限定类名,如: & ...
- (转)Spring中Bean的命名问题(id和name区别)及ref和idref之间的区别
Spring中Bean的命名 1.每个Bean可以有一个id属性,并可以根据该id在IoC容器中查找该Bean,该id属性值必须在IoC容器中唯一: 2.可以不指定id属性,只指定全限定类名,如: & ...
- Python:列表中,增加元素、删除元素、切片、其它
一.向列表中增加元素 list.append(单个元素):在list列表末端增加一个元素: list.extend([元素1,元素2]):在list列表末端增加多个元素: list.insert(元素 ...
- GO语言学习——切片三 append()方法为切片添加元素、切片的扩容策略、使用copy()函数复制切片、从切片中删除元素
append()方法为切片添加元素 注意:通过var声明的零值切片可以在append()函数直接使用,无需初始化. var s []int s = append(s, 1, 2, 3) append( ...
- 使用回溯法求所有从n个元素中取m个元素的组合
不多说了,直接上代码,代码中有注释,应该不难看懂. #include <stdlib.h> #include <stdio.h> typedef char ELE_TYPE; ...
- Python 中的反转字符串:reversed()、切片等
摘要:以相反的顺序反转和处理字符串可能是编程中的一项常见任务.Python 提供了一组工具和技术,可以帮助您快速有效地执行字符串反转. 本文分享自华为云社区<Python 中的反转字符串:rev ...
- java中取数组第一个元素
java中取数组第一个元素 var a=[1,2,2,3,4];console.log(a);a.shift();console.log(a); pop:删除原数组最后一项,并返回删除元素的值 ...
- Golang中的Slice与数组
1.Golang中的数组 数组是一种具有固定长度的基本数据结构,在golang中与C语言一样数组一旦创建了它的长度就不允许改变,数组的空余位置用0填补,不允许数组越界. 数组的一些基本操作: 1.创建 ...
- golang中的左值VS右值
对应关系 左值 可寻址 右值 不可寻址 可寻址:可以通过&取地址符,获取内存地址; 可寻址,也就是分配了内存; 不可寻址:根本没有分配内存; 常量const 常量通常只支持数字/字符串/布尔, ...
随机推荐
- S3C2440移植linux3.4.2内核之修改分区以及制作根文件系统
上一节S3C2440移植linux3.4.2内核之内核框架介绍及简单修改我们简单配置了内核,这节来根据继续修改内核. 启动内核 内核启动的打印信息如下图所示 可以看到内核有8个分区,而我们的u ...
- 2023年AI领域行业洞察,看这30个统计数据就够了!
PrimiHub一款由密码学专家团队打造的开源隐私计算平台,专注于分享数据安全.密码学.联邦学习.同态加密等隐私计算领域的技术和内容. 随着AIGC的爆火,企业越来越多地开始采用生成式人工智能.自然语 ...
- windows10/liunx创建空大文件
1.windows10创建空大文件打开cmd命令,进入需要创建文件的目录,使用以下命令创建 fsutil file createnew test001.txt 1073741824 最后的数字代表文件 ...
- UEditor 添加在线管理图片删除功能 (转载)
第一,需要添加一个 php 文件来实现删除功能,文件添加到: ueditor\php\action_delete.php 代码内容: <?php /*---------------------- ...
- [转帖]nginx 日志打印响应时间 request_time 和 upstream_response_time
https://www.cnblogs.com/chooperman/p/14722450.html 设置log_format,添加request_time,$upstream_response_ti ...
- 汉字在unicode的编码情况-From http://yedict.com/zsts.htm
字符集内容 字数 unicode编码 字符显示说明(除非安装更大字库) 基本区 分页: 一 二 三 四 共20902字 4E00-9FA5 电脑和手机都能显示 基本区补充 共90字 9FA6-9F ...
- [转帖]clickhouse 超底层原理& 高可用集群 实操(史上最全)
https://www.cnblogs.com/crazymakercircle/p/16718469.html 文章很长,而且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录 博客园版 为您奉上珍贵 ...
- [转帖]TiKV Config Learn the TiKV configuration file
The TiKV configuration file supports more options than command-line parameters. You can find the def ...
- [转帖]《Linux性能优化实战》笔记(十七)—— Linux网络基础与性能指标
一. 网络模型 1. OSI 网络模型(七层) 为了解决网络互联中异构设备的兼容性问题,并解耦复杂的网络包处理流程,OSI 模型把网络互联的框架分为七层,每个层负责不同的功能.其中, 应用层,负责为应 ...
- [转帖]理解 postgresql.conf 的work_mem 参数配置
https://developer.aliyun.com/article/401250 简介: 主要是通过具体的实验来理解 work_mem 今天我们着重来了解 postgresql.conf 中的 ...