搜索 “#viaKindle” ,共找到 1022 项结果
×
  • FalconChen
    2018-09-02 00:14
    "映射的散列表包含一组桶。在存储、删除或者查找键值对的时候,所有操作都要先选择一个桶。把操作映射时指定的键传给映射的散列函数,就能选中对应的桶。这个散列函数的目的是生成一个索引,这个索引最终将键值对分布到所有可用的桶里。"#viaKindle#
  • FalconChen
    2018-09-02 00:03
    "在64位架构的机器上,一个切片需要24字节的内存:指针字段需要8 字节,长度和容量字段分别需要8字节。由于与切片关联的数据包含在底层数组里,不属于切片本身,所以将切片复制到任意函数的时候,对底层数组大小都不会有影响。复制时只会复制切片本身,不会涉及底层数组("#viaKindle#
  • 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#
  • FalconChen
    2018-09-01 18:00
    "虽然Go语言自己会处理这个复制操作,不过还有一种更好且更有效的方法来处理这个操作。可以只传入指向数组的指针,这样只需要复制8字节的数据而不是8 MB的内存数据到栈上,"#viaKindle#
  • FalconChen
    2018-09-01 17:58
    "根据内存和性能来看,在函数间传递数组是一个开销很大的操作。在函数之间传递变量时,总是以值的方式传递的。如果这个变量是一个数组,意味着整个数组,不管有多长,都会完整复制,并传递给函数。"#viaKindle#