go Slices vs Arrays Quiz

2026-08-30 浏览 (1)

Slices vs Arrays Quiz

Why you want to use a slice instead of an array?

  1. I like arrays more
  2. I want to create a dynamic collection, so I need an array
  3. A slice's length is dynamic, so I can create dynamic collections CORRECT

Where does the length of a slice belong to?

  1. Compile-Time
  2. Runtime CORRECT
  3. Walk-Time
  4. Sleep-Time

2: A slice's length is not a part of its type. So its length can change at runtime.

Which function call below is correct?

// Let's say there's a function like this.
func sort(nums []int) {
    // ...
}
  1. sort([...]int{3, 1, 6})
  2. sort([]int32{3, 1, 6})
  3. sort([]int{3, 1, 6}) CORRECT

1: You can't call the sort function using an array. It expects an int slice.

2: You can't call the sort function using an int32 slice. It expects an int slice.

3: That's right! You can pass an int slice to the sort function.

What is the zero value of this slice?

var tasks []string
  1. 0
  2. 1
  3. nil CORRECT
  4. unknown

3: This is a nil slice. Unlike an array, a slice's zero value is nil.

What does this code print?

var tasks []string
fmt.Println(len(tasks))
  1. 0 CORRECT
  2. 1
  3. nil
  4. It doesn't work.

1: Yes, you can use the len function on a nil slice. It returns 0 because the slice doesn't contain any elements yet.

What does this code print?

var tasks []string
fmt.Println(tasks[0])
  1. 0
  2. 1
  3. nil
  4. It doesn't work. CORRECT

4: You can't get an element that does not exist. A nil slice does not contain any elements.

Which declaration below is a correct slice declaration?

  1. [...]int{}
  2. [2]string{"hello", "world"}
  3. []string{"hello", "world"} CORRECT
  4. string[2]{"hello", world"}

This code doesn't work, why?

colors := []string{"red", "blue", "green"}
tones := []string{"dark", "light"}

if colors == tones {
    // ...
}
  1. The slices have different lengths
  2. If statement doesn't contain any statements
  3. Slices cannot be compared CORRECT

3: That's right! A slice value can only be compared to a nil value.

What is the length of this slice?

[]uint64{}
  1. 64
  2. 1
  3. 0 CORRECT
  4. Error

3: That's right. This is an empty slice, it doesn't contain any elements.

What is the length of this slice?

[]string{"I'm", "going", "to", "stay", "\"here\""}
  1. 0
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5 CORRECT

你可能感兴趣的文章

go Capacity and Append Mechanics Quiz

go Advanced Slice Operations Quiz

go The Mechanics of Append Quiz

go Slice Quizzes

go Backing Array Quiz

go Slicing Quiz

go Slice Header Quiz

go Appending Quiz

  • 所属分类: 后端技术
  • 本文标签: golang
  • 版权声明: 本文链接 https://seaxiang.com/blog/9h03mC6D