Go 语言切片(Slice) Go 语言切片是对数组的抽象。 Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go 中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。 定义切片 你可以声明一个未指定大小的 ...
分类:
编程语言 时间:
2021-07-12 18:21:27
阅读次数:
0
Go 语言范围(Range) Go 语言中 range 关键字用于 for 循环中迭代数组(array)、切片(slice)、通道(channel)或集合(map)的元素。在数组和切片中它返回元素的索引和索引对应的值,在集合中返回 key-value 对。 实例 package main impor ...
分类:
编程语言 时间:
2021-07-12 18:21:03
阅读次数:
0
观察者模式是js中的一个很重要的概念,我们新手总觉得很难理解(我想很多老手也不一定很理解吧,那我们就来写一个最简单的观察者模式吧,重点是让大家理解它的运作) // 观察者模式 var obj = {}; obj.events = {}; obj.on = function (event, handl ...
分类:
其他好文 时间:
2021-07-05 16:50:37
阅读次数:
0
Go语言Slice作为函数参数详解 前言 首先要明确~~Go语言中实质只有值传递~~,引用传递和指针传递是相对于参数类型来说。 个人认为上诉的结论不对,把引用类型看做对指针的封装,一般封装为结构体,结构体是值类型,所以感觉都是值传递。不然我感觉其它语言实质不也都是值传递?不过我刚学Go,可能还没完全 ...
分类:
编程语言 时间:
2021-07-02 15:45:53
阅读次数:
0
this关键字含义 1. this代表什么 this代表对象, 代表的是当前对象, this里保存的是对象的地址. 谁是当前对象? 比如方法调用 t1.say() 在这个方法执行时 执行以下代码 : public String say() { return “姓名:” + name + “,年龄:” ...
分类:
编程语言 时间:
2021-06-29 16:00:27
阅读次数:
0
Vue.js 允许你自定义过滤器,可被用于一些常见的文本格式化。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, ini ...
分类:
Web程序 时间:
2021-06-18 20:08:22
阅读次数:
0
1. 前言 Slice又称动态数组,依托数组实现,可以方便的进行扩容、传递等,实际使用中比数组更灵活。 正因为灵活,如果不了解其内部实现机制,有可能遭遇莫名的异常现象。Slice的实现原理很简单,本节试图根据真实的使用场景,在源码中总结实现原理。 2 Slice实现原理 Slice依托数组实现,底层 ...
分类:
其他好文 时间:
2021-06-18 19:20:04
阅读次数:
0
一、值传递和引用传递区别 package main import ( "fmt" ) func main() { // map m := make(map[int]string) m[0] = "a" m[1] = "b" changeMap(m) fmt.Printf("map:%+v", m) ...
分类:
其他好文 时间:
2021-06-13 10:27:46
阅读次数:
0
前言 我们都知道 Go 语言中的 slice 具有动态扩容的机制(不知道的同学请先补课 Go 切片) 但是其底层机制是什么呢?本着知其然,知其所以然的探索精神去研究一番。还不是为了应试 手动狗头 go version go1.15.6 windows/amd64 扩容 既然是八股文,哪就先说结论,切 ...
分类:
其他好文 时间:
2021-06-09 10:36:53
阅读次数:
0
//真数组转伪数组 var obj2 = {0:"张三",1:"李四",length:2}; var arr = []; [].push.apply(arr,obj2); //真数组转伪数组 console.log(arr); //伪数组转真数组 var arr = [].slice().call( ...
分类:
编程语言 时间:
2021-06-06 19:04:18
阅读次数:
0