Java构造函数与Go构造函数的不同
因为Java的构造函数是不需要返回值的,所以一般是参数较多的构造函数调用参数较少的构造函数,然后继续赋值。
比如:
public Student(String name){ this.name = name ; this.age = 10 ; } public Student(String name , int age ){ this(name) ; this.age = age ; }
而Go语言需要返回值,所以经常是参数较少的调用参数较多的构造函数,在调用时传入一个默认值。
所以代码可能是这样:
func NewStudentWithAge(name string , age int) *Student{ return &Student{name :name,age :age } ; } func NewStudent(name string ) *Student{ return NewStudentWithAge(name , 10); }
Object-C也是这样的。如果用C++时,自己也写一些类似newStudent这样的静态函数来调用构造函数,也是和Go一样的。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。