闭包的概念是有点抽象的,光从概念上去理解,有点晦涩。
闭包=函数+引用环境;只看这句话是不是有点懵逼,别慌,先看一段闭包的真实代码:
继续阅读“聊聊go语言的闭包”啥叫内存逃逸?
简单的讲就是本该分配到栈上的变量,跑到了堆上,这就导致了内存逃逸
常见的go、java语言都会有内存逃逸的情况,我们常用的函数以及局部变量通常是分配到栈上的,但是一旦出现内存逃逸,变量就会分配到堆上。
继续阅读“go语言的内存逃逸”锁是编程语言中比较常用到的一种技术;通常在并发的情况下,多核多个线程同时修改相同的资源时,为了保护我们的资源不会出现脏数据,会用锁来解决这个问题。
并发情况下,为什么修改相同的资源,会有问题;我们得先弄清楚数据修改的过程是怎样的。
Go语言中的slice,通俗的来说就是动态的数组;我们都知道,数组的长度是固定的,一旦声明后,数组的长度是固定的;但是slice的长度是不固定的,声明后,仍然可以继续增加slice的长度,我们先看一下slice的数据结构是怎样的。
继续阅读“如何理解go语言的slice”位(bit):是计算机 内部数据 储存的最小单位,11001100是一个八位二进制数。
继续阅读“位、字节、字符区别”以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。
继续阅读“字符串:简化路径”给定一个字符串,逐个翻转字符串中的每个单词。
继续阅读“字符串:翻转字符串里的单词”给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。
继续阅读“字符串:字符串相乘”给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。
继续阅读“字符串:字符串的排列”