欢迎留言区交流!
1.下列选项正确的是?
```go
func main() {
str := "hello"
str[0] = 'x'
fmt.Println(str)
}
```
- A. hello
- B. xello
- C. compilation error
参考代码及解析:C。知识点:常量,Go 语言中的字符串是只读的。
2.下面代码输出什么?
```go
func incr(p *int) int {
*p++
return *p
}
func main() {
p :=1
incr(&p)
fmt.Println(p)
}
```
- A. 1
- B. 2
- C. 3
参考答案及解析:B。知识点:指针,incr() 函数里的 p 是 `*int` 类型的指针,指向的是 main() 函数的变量 p 的地址。 第 2 行代码是将该地址的值执行一个自增操作,incr() 返回自增后的结果。
参考下指针的文章
3.对 add() 函数调用正确的是()
```go
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}...)
参考答案及解析:ABD。知识点:可变函数。
有疑问加站长微信联系(非本文作者)