- 主题:go 动态创建二维数组的方式不是很优雅
slice的确和动态数组不同
我理解不支持的原因和不支持set数据结构一样,让人用map实现set的功能。作者就是不愿把时间花在这上面。
【 在 dreamr 的大作中提到: 】
: go 的问题是不支持动态尺寸的数组。
: 可是为什么不支持呢?
:
--
修改:littleSram FROM 114.249.22.*
FROM 114.249.22.*
是,
我明白你的意思,明明一个语法糖能提升体验,为啥不做呢。就像我也奇怪为啥不提供一个set的数据结构,明明比语法糖还简单吧,但是go语言自带的就是没有。
让人用map[string]bool来代替set
想用set,就导入其它库。
【 在 dreamr 的大作中提到: 】
: 用slice 也没问题,可是为什么不能提供一个优雅的初始化方式?
: 发自「今日水木 on HMA-AL00」
--
FROM 61.148.245.*
哈哈哈,是
最近一个流行的段子
禅师,如何做到不与愚蠢的人结缘。
简单,就是不与之发生争执
这怎么可能呢
(沉默不语)
我想问,但是大师不理了
【 在 dongliu84 的大作中提到: 】
: 不要问,问就是不懂大道至简
--
修改:littleSram FROM 61.148.245.*
FROM 61.148.245.*
是,这三个大佬太有个性了
slice这个数据结构为了效率,在使用的时候会有一些陷阱。因为我们习惯动态数组了,但是slice不是动态数组。所以会掉坑里。
【 在 jdk140 的大作中提到: 】
: 我觉得go在基本数据类型上面努力向中级语言靠拢,除了chan类型。go的int字长竟然是跟Arch走的,这种很像是c语言那种写着c代码脑里想汇编的搞法。
: 定长数组就是内存的连续区间,slice是带两个变量(长度和容量)的内存连续区间,取slice一部分的时候除非修改内容否则不复制内存。这样用起来能比较精确地知道数据占了多少内存。
--
FROM 61.148.245.*