Go面试提14
1: 下面选项正确的是?
func main() {
str := "hello"
str[0] = 'x'
fmt.Println(str)
}
- A:
hello
- B:
xello
- C:
compilation error
2: 下面代码输出什么?
package main
import "fmt"
func incr(p *int) int {
*p++
return *p
}
func main() {
p := 1
incr(&p)
fmt.Println(p)
}
- A:
1
- B:
2
- C:
3
3: 对add()
函数用正确的是()
func add(args ...int) int {
sum := 0
for _, arg := range args {
sum += arg
}
return sum
}
- A:
add(1,2)
- B:
add(1,3,7)
- C:
add([]int{1,2})
- D:
add([]int{1,3,7}...)
参考答案及解析
1: 答案及解析: C
. 知识点: 常量, Go 语言中的字符串是只读的.
2: 答案及解析: B
. 知识点: 指针, incr()
函数里的p
是*int
类型的指针,指向的是main()
函数的变量p
的地址.第2行代码是将该地址的值执行一个自增操作,incr()
返回自增后的结果.
3: 答案及解析: ABD
. 知识点: 可变函数.
「真诚赞赏,手留余香」
真诚赞赏,手留余香
使用微信扫描二维码完成支付