老师好,请教下Go语言中的nil调用问题

来源:4-1 结构体和方法

PeterSix3244453

2018-03-20

以课程中的代码为例:

node.value = value

您说,nil可以调用方法,那获取对象的点语法,在Go语言中不是默认去调用它的setter方法吗?

写回答

1回答

PeterSix3244453

提问者

2018-03-20

比如Objective-C中,
NSString *str = nil;

NSLog(@"%zd", str.length);

编译器是不会报错的,直接打印的结果就是0.即使是nil,取属性的话,也不会报错,因为nil调用了NSString类的setter方法,而nil调用方法是不会报错的,只不过是调用无效罢了。

0
0

Google资深工程师深度讲解Go语言 由浅入深掌握Go语言

语法+分布式爬虫实战 为转型工程师量身打造

5995 学习 · 1909 问题

查看课程