博文

目前显示的是 一月, 2019的博文

Go 切片

图片
本文译自 Go Blog 中一篇对于 Slice(切片) 的介绍。 鉴于我英语能力的限制,以及初学 Go 语言,对于有些地方理解并不深,所以如若文中有什么地方翻译有问题,敬请留言指出。 介绍 Go 的切片提供了一个简便有效的方式用于处理输入的有序数据。切片类似于其他语言中的数组,但是也有独特之处。这篇文章将会介绍切片是什么,以及切片的使用。 数组 切片其实是对数组的一个高级封装,所以在了解切片之前,我们需要先来了解一下数组。 数组定义有具体的长度和元素类型。例如,[4]int 表示一个长度为 4 的整型数组的类型。数组的大小是固定的;长度是其类型的一部分([4]int 和 [5]int 是两个截然不同,且互不兼容的类型)。数组可以使用常规的方式进行索引,所以可以使用表达式 s[n] 访问数组 s 的第 n+1 个元素。 var a [4]int a[0] = 1 i := a[0] //i == 1 数组不需要被被显式的初始化;数组的元素在创建时会被初始化为对应的零值: // a[2] == 0,int 的零值是 0 [4]int 在内存空间中的表示就是四个整型数字的顺序排列: Go 的数组就是一个值。一个数组变量表示的是整个数组,而不是指向数组第一个元素的指针。所以在分配或是传递一个数组值的时候,其实是对数组的内容进行了一个复制。(要是你想避免这种复制,你可以为数组分配一个指针。)考虑数组的一种方法是作为一种结构,但使用索引而不是命名字段:一种固定大小的复合值。 一个数组可以像下面这样具体指定其长度: b := [2]string{"Penn", "Teller"} 或是,由编译器根据数组的元素自动推算数组的长度: b := [...]string{"Penn", "Teller"} 在这两个例子中,数组 b 的类型都是 [2]string 切片 数组有自己空间,但是不太灵活,所以你不会经常在 Go 代码中看到数组。然而,切片却是无处不在。他们基于数组,提供了更加便捷高效的应用。 切片的语法是 []T,T 是切片元素的类型。不同于数组,切片无需显式指定其长度。 切片的声明与数组类似,只是你无需指定元素的数量: letters :=…

华山攀登指南(准备篇)

图片
这两年,每年都会爬一次华山。第一次跟两个小伙伴一起爬完了东南西北中五座山峰,第二次就只是去东峰顶看了个日出。 两次,说多不多,说少不少,但是总归还是有点经验的。下面就来说一说我曾经去过或者未来再去的时候要准备和注意的事情吧。 准备:矿泉水。这个真的很重要,(当然土豪请忽略这一点)山上的水真的很贵,而且越往上越是如此,所以在你的承受范围内尽可能多的带。水杯。这个怎么说呢,对于我来说是个必需品,因为我一般出去的时候都会把杯子插在背包的侧面,最重要的一点就是,如果你在山上闹肚子(比如我 =_=),你还可以去买杯热水(十块钱 (/‵Д′)/~ ╧╧)。食物。我下次再去反正是肯定不会再带了,我基本吃一次闹一次肚子,在山上闹肚子真的要命,我宁愿多背点水。伞。我只有一把雨伞,跟杯子一样,日常插在背包侧面,所以这个可以随意。厚衣服 & 厚毯子 | 帐篷。只要你整个爬山过程中需要经过晚上,请务必带好保暖衣物(山上真的很冷,千万不要想当然,棉衣棉裤最好),帐篷和毯子可以看自己的情况。防晒霜。虽然我没有,但还是建议买一支,哪怕是一小支,只够这趟行程也是可以的。我们第一次去的时候,回来都成炭了 இдஇ。充电宝。这东西,应该也没什么说的了吧。记得出门前一定要先充满电! 目前我能想出来的大概就是这些了,还有些像什么登山杖,手套 balabala 的,我没用过,皮糙肉厚的我从来没用过,也就不做推荐了。 注意:登山前一定要查看需要准备的东西是否准备好了。不要带打火机之类的,一般不会让带上山的。如果有学生证,高考准考证之类的,带上,可以半价。如果你是从玉泉院开始上山的话,入口的位置是你正对玉泉院正大门,右手边那个紧挨玉泉院的小巷子。小巷子那边有些买爬山用品的,再往进走一点有一个公共厕所,再继续往进走就可以看到售票处了(我两次都没有顺利找到过上山入口,总以为入口是在院子里,被自己蠢哭)。请不要孤身一人爬山(除非你意志力异于常人),至少找一个也想要爬山的伴,但是也不要太多。爬山的时候是很累的,一般不会很有心情去欣赏周围,这时候如果没有人在你身边和你说说话,互相鼓励着向上爬,很容易就会放弃。我上次爬山闹肚子,多亏了我的一个好朋友帮我去找的热水,不然我真得从上面抬下来(真的很感谢)。所以说这一点是最重要的,切忌孤身爬华山!切忌!切忌!重要的事情讲三遍。山上山下有许多卖“纪念品”的摊点,千万不要有…

在 Virtual Box 中安装 Remix OS

图片
安装 好了,废话不多说,下面我们开始进行安装。 先下载 Remix OS,随便选一个版本,我选的是 PC 64 位的。 下载下来的是一个 .zip 的压缩包,解压,里面会有一个 Remix_OS_for_PC_Android_M_64bit_B2016112101.iso 的文件(可能你们的会稍有不同)以及其他几个文件,可以只保留 .iso 文件。 打开 Vbox,创建一个新的虚拟机 名字随意,比如 remix1类型选择 Linux版本选择 Other Linux (64 bit) 内存在可控范围内给高点(我 12G 的内存给了 4G)  然后一直 下一步 到 文件位置和大小这一步,自己选定存储位置,存储大小给个 2、30G 的。  最后点击创建。 在 remix1 上右击,打开 设置 在 系统主板 选项中 关闭 软驱 系统处理器 选项中把处理器 数量设为 2  显示显存大小 拉到最高  点击 存储没有盘片,点击右边 属性分配光驱 的最右边的磁盘图标,选择你之前解压出的 .iso 文件