Go面试题55
1: 关于channel
下面描述正确的是?
- A.
close()
可以用于只接受通道; - B. 单向通道可以转换为双向通道;
- C. 不能在单向通道上做逆向操作(例如: 只发送通道用于接收);
2: 下面的代码有什么问题?
type T struct {
n int
}
func getT() T {
return T{}
}
func main() {
getT().n = 1
}
参考答案及解析
1: 答案及解析: C
.
2: 答案及解析: 编译错误: cannot assign to getT().n
直接返回的T{}
无法寻址,不可直接赋值.
修复代码:
type T struct {
n int
}
func getT() T {
return T{}
}
func main() {
t:= getT()
p := &t.n
*p = 1
fmt.Println(t.n)
}
「真诚赞赏,手留余香」
真诚赞赏,手留余香
使用微信扫描二维码完成支付