RainbowMango / GoExpertProgramming

《Go专家编程》Go语言快速入门,轻松进阶!
1.86k stars 306 forks source link

[勘误]反馈一个第M章第N节的错别字 #107

Open junjiezou1 opened 10 months ago

junjiezou1 commented 10 months ago

问题描述 第一章,slice篇的问题三,下面是原文。

程序解释:该段程序源自select的实现代码,程序中定义一个长度为10的切片order,pollorder和lockorder分别是对order切片做了order[low:high:max]操作生成的切片,最后程序分别打印pollorder和lockorder的容量和长度。

参考答案:order[low:high:max]操作意思是对order进行切片,新切片范围是[low, high),新切片容量是max。order长度为2倍的orderLen,pollorder切片指的是order的前半部分切片,lockorder指的是order的后半部分切片,即原order分成了两段。所以,pollorder和lockerorder的长度和容量都是orderLen,即5。

参考答案处写的有问题, 新切片范围是[low, high),新切片容量是max 正确写法 新切片范围是[low, high),新切片容量是max-low 如何找到这个错误

您认为应该如何? 正确写法 新切片范围是[low, high),新切片容量是max-low 图片 ![Uploading image.png…]() 其他补充信息

junjiezou1 commented 10 months ago

![Uploading qqqqqqqqqqqqq.jpg…]()

RainbowMango commented 10 months ago

感谢反馈~

请问你看的是第二版还是第一版?另外还望提供页码信息,谢谢。

章节:第一章 slice篇 热身环节问题三处

第二版题目如下,您的图片没有上传完成(理解),还没定位所反馈的问题位置。

关于下面函数的描述,正确的是?

func SliceExtend() {
    s := make([]int, 0, 10)
    s1 := append(s, 1, 2, 3)
    s2 := append(s1, 4)

    fmt.Println(&s1[0] == &s2[0])
}

单选: