迹忆客 计算机编程题库

Go 经典面试题 部分三

下面哪个函数可以返回slice中当前元素的个数?
  • len()
  • cap()
  • length()
  • append()
正确答案是:A
正确率:84%

解析:

本题目主要考查go语言中slice相关的知识点,以及len()函数和cap() 函数的区别。

Go 切片(Slice) 是对 Go Array 的抽象。尽管数组似乎足够灵活,但它们具有固定长度的限制。无法增加数组的长度。切片克服了这个限制。

切片的长度是切片中元素的数量。切片的容量是底层数组中从创建切片的索引开始的元素数。

len()函数返回切片的长度,也就是元素的个数。而cap()函数则返回切片的容量。让我们通过一段代码示例来加深一下了解

package main

import (
    "fmt"
)

func main() {
    fruitarray := [...]string{"apple", "orange", "grape", "mango", "water melon", "pine apple", "chikoo"}
    fruitslice := fruitarray[1:3]
    fmt.Printf("切片的长度:%d; 切片的容量:%d\n", len(fruitslice), cap(fruitslice)) //length of fruitslice is 2 and capacity is 6
}

运行示例

因此本题目选择 A。

更多关于切片的知识,可以查看我们的 Go 语言切片详解

查看笔记

扫码一下
查看教程更方便