索引与切片
索引与切片 主讲人:龙良曲 Indexing ▪ dim 0 first select first/last N select by steps select by specific index … select by mask ▪ .masked_select() select by flatten index 下一课时 Tensor变换 Thank You.0 码力 | 10 页 | 883.44 KB | 1 年前3Golang 101(Go语言101 中文版) v1.21.a
第13章:协程、延迟函数调用、以及恐慌和恢复 Go类型系统 第14章:Go类型系统概述 - 精通Go编程必读 第15章:指针 第16章:结构体 第17章:值部 - 为了更容易和更深刻地理解Go中的各种值 第18章:数组、切片和映射 - Go中的首要容器类型 第19章:字符串 第20章:函数 - 函数类型和函数值,以及变长参数个数函数 第21章:通道 - Go特色的并发同步方式 第22章:方法 第23章:接口 - 通过包 语言中关于各种其它主题 的文章。 所以现在《Go语言101》大约有50篇文章。 你曾经的困惑主要包括哪些方面? 一些困惑是关于一些Go语法和语义设计细节的。 一些困惑涉及到某些类型的 值,主要是切片,接口和通道类型。 另外一些涉及到标准包API的使用细节。 你认为造成你曾经的困惑的主要原因是什么? 我觉得最主要的原因是我当时抱着Go是一门非常简单的语言的态度去学习和使 用Go。 持有这种态度阻止了我更深刻地理解Go。 Go中的一些语法和语义设计很简单明了,但也有一些设计略微反直觉,甚至自 相矛盾。 Go语法和语义设计中有很多折衷和权衡。一个Go程序员需要相当的 Go编程经验和感悟才能理解这些权衡。 Go提供了几种基本但非必需的类型,比如切片,接口和通道。 Go编译器和运 行时在实现这些类型的时候,进行了必要的封装。 一方面,这些封装为Go编程 带来了许多便利,使我们不用从头实现这些类型。 但另一方面,这些封装隐藏 了这些类型的内部结构,0 码力 | 608 页 | 1.08 MB | 1 年前3Golang 101(Go语言101 中文版) v1.21.a
第13章:协程、延迟函数调用、以及恐慌和恢复 Go类型系统 第14章:Go类型系统概述 - 精通Go编程必读 第15章:指针 第16章:结构体 第17章:值部 - 为了更容易和更深刻地理解Go中的各种值 第18章:数组、切片和映射 - Go中的首要容器类型 第19章:字符串 第20章:函数 - 函数类型和函数值,以及变长参数个数函数 第21章:通道 - Go特色的并发同步方式 第22章:方法 第23章:接口 - 通过 言中关于各种其它主 题的文章。 所以现在《Go语言101》大约有50篇文章。 你曾经的困惑主要包括哪些方面? 一些困惑是关于一些Go语法和语义设计细节的。 一些困惑涉及到某些类型的 值,主要是切片,接口和通道类型。 另外一些涉及到标准包API的使用细节。 你认为造成你曾经的困惑的主要原因是什么? 我觉得最主要的原因是我当时抱着Go是一门非常简单的语言的态度去学习和 使用Go。 持有这种态度阻止了我更深刻地理解Go。 Go中的一些语法和语义设计很简单明了,但也有一些设计略微反直觉,甚至 自相矛盾。 Go语法和语义设计中有很多折衷和权衡。一个Go程序员需要相当 的Go编程经验和感悟才能理解这些权衡。 Go提供了几种基本但非必需的类型,比如切片,接口和通道。 Go编译器和运 行时在实现这些类型的时候,进行了必要的封装。 一方面,这些封装为Go编 程带来了许多便利,使我们不用从头实现这些类型。 但另一方面,这些封装 隐藏了这些类型的内部结构,0 码力 | 821 页 | 956.82 KB | 1 年前3Golang 101(Go语言101 中文版) v1.21.a
第13章:协程、延迟函数调用、以及恐慌和恢复 Go类型系统 第14章:Go类型系统概述 - 精通Go编程必读 第15章:指针 第16章:结构体 第17章:值部 - 为了更容易和更深刻地理解Go中的各种值 第18章:数组、切片和映射 - Go中的首要容器类型 第19章:字符串 第20章:函数 - 函数类型和函数值,以及变长参数个数函数 第21章:通道 - Go特色的并发同步方式 第22章:方法 第23章:接口 - 语言中关于各种其它主题的文 章。 所以现在《Go语言101》大约有50篇文章。 你曾经的困惑主要包括哪些方面? 一些困惑是关于一些Go语法和语义设计细节的。 一些困惑涉及到某些类型的值,主 要是切片,接口和通道类型。 另外一些涉及到标准包API的使用细节。 你认为造成你曾经的困惑的主要原因是什么? 第0章:关于《Go语言101》 4 我觉得最主要的原因是我当时抱着Go是一门非常简单的语言的态度去学习和使用 一些语法和语义设计很简单明了,但也有一些设计略微反直觉,甚至自相矛盾。 Go 语法和语义设计中有很多折衷和权衡。一个Go程序员需要相当的Go编程经验和感悟 才能理解这些权衡。 Go提供了几种基本但非必需的类型,比如切片,接口和通道。 Go编译器和运行时在 实现这些类型的时候,进行了必要的封装。 一方面,这些封装为Go编程带来了许多 便利,使我们不用从头实现这些类型。 但另一方面,这些封装隐藏了这些类型的内 部结构,0 码力 | 591 页 | 21.40 MB | 1 年前3Go 入门指南(The way to Go)
通过内存缓存来提升性能 第7章:数组与切片 7.1 声明和初始化 7.2 切片 7.3 For-range 结构 7.4 切片重组(reslice) 7.5 切片的复制与追加 7.6 字符串、数组和切片的应用 第8章:Map 8.1 声明、初始化和 make 8.2 测试键值对是否存在及删除元素 8.3 for-range 的配套用法 8.4 map 类型的切片 8.5 map 的排序 读取用户的输入 12.2 文件读写 12.3 文件拷贝 12.4 从命令行读取参数 12.5 用 buffer 读取文件 - 4 - 本文档使用 书栈(BookStack.CN) 构建 12.6 用切片读写文件 12.7 用 defer 关闭文件 12.8 使用接口的实际例子:fmt.Fprintf 12.9 格式化 JSON 数据 12.10 XML 数据格式 12.11 用 Gob 传输数据 书栈(BookStack.CN) 构建 16.5 不需要将一个指向切片的指针传递给函数 16.6 使用指针指向接口类型 16.7 使用值类型时误用指针 16.8 误用协程和通道 16.9 闭包和协程的使用 16.10 糟糕的错误处理 第 17章 模式 17.1 关于逗号ok模式 第 18章 出于性能考虑的实用代码片段 18.1 字符串 18.2 数组和切片 18.3 映射 18.4 结构体 180 码力 | 466 页 | 4.44 MB | 1 年前3Go 入门指南(The way to Go)
runtime 包中找到)当中。这个 runtime 类似 Java 和 .NET 语言所用到的虚拟机,它负责管理包括内存 分配、垃圾回收(第 10.8 节)、栈处理、goroutine、channel、切片(slice)、map 和反射 (reflection)等等。 runtime 主要由 C 语言编写(Go 1.5 开始自举),并且是每个 Go 包的最顶级包。你可以在目录 $GOROOT/src/runtime 上面的代码会将源文件中没有意义的括号去掉。 gofmt -r “a[n:len(a)] -> a[n:]” –w *.go 上面的代码会将源文件中多余的 len(a) 去掉。( 译者注:了解切片(slice)之后就明白这为什么是多余 的了 ) gofmt –r ‘A.Func1(a,b) -> A.Func2(b,a)’ –w *.go 上面的代码会将源文件中符合条件的函数的参数调换位置。 h。 Go入门指南 - 29 - 本文档使用 看云 构建 第二部分:语言的核心结构与技术 第4章:基本结构和基本数据类型 第5章:控制结构 第6章:函数(function) 第7章:数组与切片 第8章:Map 第9章:包(package) 第10章:结构(struct)与方法(method) 第11章:接口(interface)与反射(reflection) 第4章:基本结构和基本数据类型0 码力 | 380 页 | 2.97 MB | 1 年前3Golang 入门笔记
以此类推。 值类型包括:基本数据类型 int 系列, bool, string , 数组和结构体 struct (b) 数组类型 (c) 结构化类型(struct) (e) 函数类型 (f) 切片类型 (g) 接口类型(interface) (h) Map 类型 语言变量 概念:变量相当于内存中一个数据存储空间的表示,你可以把变量看作是一个房间的门牌号, 通过门牌号我们可以找到 定义:方法就是一个包含了接受者的函数 例子 值类型和引用类型 值类型:基本数据类型 int 系列,bool , string , 数组和结构体 struct 引用类型:指针,slice 切片, map , 管道 chan , interface 等都是引用类型 使用特点 1. 值类型,变量直接存储值,通常在栈中分配 2. 引用类型,变量存储的是一个地址,这个地址空间才是真正存储数据(值),内存通常在堆上分配, 服务端/游戏开发 分布式/云计算 Docker K8s Go 语言的诞生和相关故事 Go 语言的特点 1. 函数可以返回多个值 2. 支持高并发 3. 每一行之后不需要分号 4. 切片slice (动态数组)、延迟执行 defer Golang 入门教程 Golang 数据操作 MySQL 数据库操作 Redis 操作 高级特征 Go 语言作用域 定义 作用域为已声0 码力 | 2 页 | 511.29 KB | 1 年前3C++高性能并行编程与优化 - 课件 - 15 C++ 系列课:字符与字符串
。 • 此外还有 find(“str”, pos, len) 和 find(“str”.substr(0, len), pos) 等价,用于要查询的字符串已经确定长度,或者要查询的字符串是 个切片( string_view )的情况。若不指定这个长度 len ,则默认 是 C 语言的 0 结尾字符串, find 还要去求 len = strlen(“str”) , 相对低效。 find 寻找子字符串 函数,基本一样,没什么好说的。 • 例如 s.append(“world”) 和 s += “world” 等价。 • 区别在于 append 还可以指定第二个参数,限定字符串长度,用于要追加的字符串已 经确定长度,或者是个切片的情况( string_view )。 • 例如 s.append(“world”, 3) 和 s += string(“world”, 3) 和 s += “wor” 等价。 • 性能如何? append resize 操作来去除尾部的任意部分,所以用 len 控制开头 的部分。 • 为了一点点破性能,弄这么多重载,不过这些都已经无所谓了,因 为 C++17 中有更为直观的 string_view ,要切片只需 substr ,例 如: • s.append(“world”, 3) 改成 s += string_view(“world”).substr(0, 3) • s.append(“world”s0 码力 | 162 页 | 40.20 MB | 1 年前3机器学习课程-温州大学-numpy使用总结
4) > a = np.array([1, 2, 3, 4]) > d = a.reshape((2,2)) array([[1, 2], [3, 4]]) 18 ndarray的切片 ndarray的切片和list是一样的。 > a = np.arange(10) > a array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) a[5] a[3:5] 2, 1, 0] [5, 3] 可以通过切片的对ndarray中的元素进行更改。 > a[2:4] = 100, 101 > a array([ 0, 1, 100, 101, 4, 5, 6, 7, 8, 9]) 19 ndarray的切片 ndarray通过切片产生一个新的数组b,b和a共享同一块数据存储空间。 > b = a[3:7] [101, 4, -10, 6] [ 0, 1, 100, 101, 4, -10, 6, 7, 8, 9] 如果想改变这种情况,我们可以用列表对数组元素切片。 > b = a[[3, 3, -3, 8]] > b array([3, 3, 7, 8]) > b[2] = 100 b0 码力 | 49 页 | 1.52 MB | 1 年前3Go语言基础 Golang Fundaments
语言的模样(部分语法如Python的编程效率) – Java 语言的脑袋(能用面向对象思路解决问题) 基本知识学习 • 请按 go tour 浏览 – “基础” • 包,变量,函数 • 流程控制语句 • 指针、结构、数组与切片、Map – 方法与接口 – 并发 Hello world! 包与子包 • 包的代码在哪里? – Go标准包,如:math/rand • https://github.com/golan [n]T – 固定大小,不可改变 • 切片(slice)是数组的引用 – 申明 []T – 可表示数组的视图 a[low:high] – 可表示一个动态数组如 slice := []int{1,2,3} – 切片拥有长度 len(s),容量 cap(s) – 引用有 nil 值 (指针有吗?) – 使用内建函数 make 创建切片 – 切片的切片(多维数组?) – 使用内建函数 append append 添加元素 – 使用 for … range 遍历切片 Map数据类型 • 映射(map)是 key:value 集合 – 申明 map[keyType]valueType – map值的初始化 {k:v,k:v,…} – 映射拥有长度 len(m) – 映射有 nil 值,或 len(m) = 0 – 使用内建函数 make 初始化 map – m[key] 返回的值,如果不存在返回零值0 码力 | 21 页 | 851.30 KB | 1 年前3
共 147 条
- 1
- 2
- 3
- 4
- 5
- 6
- 15