切片基础slice

定义:slice表示一个拥有相同类型元素的可变长度的序列
slice有三个属性:指针,长度,容量
指针指向第一个可以从slice中访问的元素,这个元素并不一定是数组的第一个元素

注意:
1.一个底层数组可以对应多个slice
2.slice超过被引用对象的容量,将会宕机

//定义slice
myslice := []int{1, 2, 3, 4}
fmt.Println(reflect.TypeOf(myslice))//slice底层是数组,slice可以引用数组的任何位置
var myarr [9]int = [9]int{1, 2, 3, 4, 5, 6, 7, 8, 9}
slicearr1 := myarr[1:4]//slice是引用了数组,数组的值发生了改变
slicearr1[0] = 99
fmt.Println(slicearr1)
fmt.Println(myarr)//slice用法
slicearr2 := myarr[:5]
slicearr3 := myarr[5:]
slicearr4 := myarr[:]
fmt.Println(slicearr2, slicearr3, slicearr4)//求长度 结果: 5 4
fmt.Println(len(slicearr2), len(slicearr3))
//求容量 结果: 9 4 容量实质和底层数组相关
fmt.Println(cap(slicearr2), cap(slicearr3))//对string类型求子串,返回值是string
str := "hello"
slicestr := str[:3]
fmt.Println(slicestr)//对[]byte类型做slice操作,返回值是[]byte类型
myBytes := []byte("hello world!")
slicemyBytes := myBytes[:5]
fmt.Println(string(slicemyBytes))//slice比较,可使用bytes.Equal来比较两个字节slice,其他类型
//则需要自己实现。不可以直接用==比较,唯一用==比较是和nil
fmt.Println(slicemyBytes == nil)//内置函数make,创建一个指定元素类型,长度和容量的slice,参数容量可省略
//make实质创建了一个无名数组并返回了它的一个slice
myslice2 := make([]int, 5, 10)
fmt.Println(myslice2)

转载于:https://www.cnblogs.com/zbhbc/p/9209547.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/465670.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

常用shell命令

要复制整个目录,请使用 cp 命令的 -r 选项。例如,如果有一个名为 mydir 的目录,其中包含 myfile 和 newfile,则可以将该目录复制到一个名为 mydir2 的新目录。mydir2 还将包含 myfile 和 newfile 的副本。请使用以下命令&#xff…

Linux kernel之SMP初始化

01—SMP数据结构SMP的数据结构如下图所示,主要由2部分构成,通过两个宏定义CONFIG_SMP和CONFIG_HOT_PLUG来控制。当设置kernel支持SMP模式时,那么CONFIG_SMP选项是一定会打开的,因此第一部分是必须实现的内容。而第二部分是否需要实…

Python3——多线程之threading模块

Python3——多线程之threading模块 目录 Python3——多线程之threading模块 Threading模块的对象 Threading模块的Thread类 queue模块(线程间通信) Python 提供了多个模块来支持多线程编程,包括 thread、 threading 和 Queue 模块等。程…

BZOJ2216 [Poi2011]Lightning Conductor 【决策单调性dp】

题目链接 BZOJ2216 题解 学过高中数学都应知道,我们要求\(p\)的极值,参变分离为\[h_j sqrt{|i - j|} - h_i \le p\] 实际上就是求\(h_j sqrt{|i - j|} - h_i\)的最大值 就可以设\(f[i]\)表示对\(i\)最大的该式的值 绝对值通常要去掉,一般可…

笔记本 cpu 参数

选本必看--笔记本主流cpu参数大全现在本本的处理器种类真的太多了,绝对足够让人眼花缭乱的,各式各样的CPU核心、外频、缓存、接口、电压、制作工艺等等,多到让人疯狂,很少认能够对此了如执掌的。这次我们归纳了所有主流的本本处理…

MTK笔试1题~

这个题目是前几天一个好友分享给我的,但是因为时间原因没有及时写成文章。这是他参加MTK笔试的题目题目如下:网友提供的代码如下:#include "stdio.h"typedef struct n{int data;struct n* next;struct n* pre; }*pnode;int main(){…

console和windows子系统

https://blog.csdn.net/ilvu999/article/details/8050292 转载于:https://www.cnblogs.com/132818Creator/p/9210791.html

Python3 —— 逗号分隔值CSV

Python3 —— 逗号分隔值CSV 目录 Python3 —— 逗号分隔值CSV CSV 读写CSV文件 CSV 逗号分隔值( Comma-Separated Value, CSV)。与专有的二进制文件格式截然不同, CSV 通常用于在电子表格软件和纯文本之间交互数据。CSV 文件…

教你如何防止电脑插入u盘后自动运行

今天重装了系统,安装了驱动和各种软件,然后打完了补丁。在使用的过程中,当我插入U盘的时候发现是自动打开的,那么怎样防止这一个现象呢?思考片刻我想到了本地组策略,于是找了一下,结果还真有一个…

从单片机步入Linux之运行地址与加载地址

大家好,我是情报小哥!本文为【单片机步入嵌入式Linux】系列文章的第二篇,主要是跟大家讲解一下链接过程中几个地址的区分与理解~01单片机存储分配

VC++常见错误

1、fatal error C1010: unexpected end of file while looking for precompiled header directive。寻找预编译头文件路径时遇到了不该遇到的文件尾。(一般是没有#include "stdafx.h") 2、fatal error C1083: Cannot open include file: R………

iview插件

1.图表居中 columns1: [{title: 序号,key: number,align: center, //水平居中}, } 转载于:https://www.cnblogs.com/SunShineM/p/9217335.html

Python3——JSON

Python3——JSON 目录 Python3——JSON Python和JSON数据类型对比 dumps()/loads() JSON是JavaScript的子集,专门用于指定结构化的数据。JSON 是轻量级的数据交换方式,易于阅读和编写。 Python和JSON数据类型对比 dict object list,tuple array …

不要错过秋招

标题就是重点~这是今天跟一个同学聊天说到的问题,之前我不是直播了嘛,我在直播里面说,如果大家有求职面试相关的事情,可以私下找我,这位同学还是很积极,今天就找我聊了。他的简历整体上问题不大&#xff0c…

VMware HA与VMotion的部署与搭建

VMware HA与VMotion的部署与搭建一.VMware HA 由于公司虚拟化的不断使用,不允许出现ESX Server的单点故障,因此考虑用VMware 自己的解决方案,及VMware的群集,对于群集的相关介绍,这里就不再叙述了&#…

suse glibcxx版本过高问题

实际开发中发现,suse11虽然glibc版本很低,只有2.11.3,但是glibcxx版本很高,达到了3.4.19。这里我需要降低glibcxx版本。所谓glibcxx版本,即libstdc.so.6的版本问题。 我找了centos版的libstdc.so.6.0.13,替…

这几个电子行业优质公众号,让你学习不迷路

古人都知道白天看日,晚上追星,如何学习不迷路,让自己的学习更加有效率,当然是要学习大佬们的经验总结。2021已过半,碎片时间充斥了我们的生活,与其淹没在信息洪流里不如只阅读精挑细选的优质,内…

STM32F7xx —— 启动文件和HAL库

STM32F7xx —— 启动文件和HAL库 目录 STM32F7xx —— 启动文件和HAL库 一.库开发的优势 二.stm32F7xx几个重要文件 1. HAL库关键文件 2.stm32f7xx_it.c/h 3.stm32f7xx.h 4.stm32f767xx.h 5.system_stm32f7xx.c/h 6.stm32f7xx_hal_msp.c 7.star…

计算机科学数学理论浅谈 (转载)

【来源:TSTC文档中心】 计算机自从其诞生之日起,它的主要任务就是进行各种各样的科学计算。文档处理,数据处理,图像处理,硬件设计, 软件设计等等,…

js实现倒计时函数

function updateEndTime() { //当前时间,距1970年1月1日的秒数   var date new Date();   var time (date.getTime())/1000; //到期时间,可由后台传 var end_time {$end_time}; //计算时间差并换算   var lag end_time - time;   var second Math.floor(lag % 60…