搜索 “#” ,共找到 5461 项结果
×
  • FalconChen
    2018-09-02 00:18
    "映射使用两个数据结构来存储数据。第一个数据结构是一个数组,内部存储的是用于选择桶的散列键的高八位值。这个数组用于区分每个键值对要存在哪个桶里。第二个数据结构是一个字节数组,用于存储键值对。该字节数组先依次存储了这个桶里所有的键,之后依次存储了这个桶里所有的值。实现这种键值对的存储方式目的在于减少每个桶所需的内存。"#viaKindle#
  • FalconChen
    2018-09-02 00:14
    "映射的散列表包含一组桶。在存储、删除或者查找键值对的时候,所有操作都要先选择一个桶。把操作映射时指定的键传给映射的散列函数,就能选中对应的桶。这个散列函数的目的是生成一个索引,这个索引最终将键值对分布到所有可用的桶里。"#viaKindle#
  • FalconChen
    2018-09-02 00:03
    "在64位架构的机器上,一个切片需要24字节的内存:指针字段需要8 字节,长度和容量字段分别需要8字节。由于与切片关联的数据包含在底层数组里,不属于切片本身,所以将切片复制到任意函数的时候,对底层数组大小都不会有影响。复制时只会复制切片本身,不会涉及底层数组("#viaKindle#
  • FalconChen
    2018-09-01 23:59
    #三省吾身# 今天读书了吗,今天健身了吗,今天过得开心吗?——2018.09.01
  • FalconChen
    2018-09-01 23:37
    "迭代切片时,关键字range会返回两个值。第一个值是当前迭代到的索引位置,第二个值是该位置对应元素值的一份副本("#viaKindle#
  • FalconChen
    2018-09-01 23:22
    "内置函数append也是一个可变参数的函数。这意味着可以在一次调用传递多个追加的值。如果使用...运算符,可以将一个切片的所有元素追加到另一个切片"#viaKindle#
  • FalconChen
    2018-09-01 19:45
    "如果在创建切片时设置切片的容量和长度一样,就可以强制让新切片的第一个append操作创建新的底层数组,与原有的底层数组分离。新切片与原有的底层数组分离后,可以安全地进行后续修改,"#viaKindle#
  • FalconChen
    2018-09-01 18:33
    "相对于数组而言,使用切片的一个好处是,可以按需增加切片的容量。Go语言内置的append函数会处理增加长度时的所有操作细节。"#viaKindle#
  • FalconChen
    2018-09-01 18:17
    "在Go语言里,nil切片是很常见的创建切片的方法。nil切片可以用于很多标准库和内置函数。在需要描述一个不存在的切片时,nil切片会很好用。例如,函数要求返回一个切片但是发生异常的时候("#viaKindle#
  • FalconChen
    2018-09-01 18:16
    "记住,如果在[]运算符里指定了一个值,那么创建的就是数组而不是切片。只有不指定值的时候,才会创建切片,"#viaKindle#