天问

go语言基础编程3-面向对象编程

3.1

Go语言没有继承、虚函数、构造函数和析构函数、隐藏的this指针等。在Go语言中,你可以给任意类型(包括内置类型,但不包括指针类型)添加相应的方法。go没有class关键字,而是对各种变量包括自定义变量可以设置相应的方法,比如定义一个学生类,以及设置学生姓名等方法:

java:

public class Student {

private
int age;

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

}

 
 

go:

type Student struct {

userName string

age int

}

 
 

func (stu Student) GetAge() int {


return stu.age

}

func (stu Student) SetAge(age int) {

stu.age = age

}

 
 

func main() {


var a Student = Student{"
张三", 18}

b := Student{}

b.age = 19

fmt.Println("a的年龄:", a.GetAge())

fmt.Println("b的年龄:", b.age)

}

 
 

3.2 初始化

 
 

3.3 匿名组合

 
 

3.4 可见性

 
 

 
 

3.5 接口

 
 

3.5.1 其他语言的接口

 
 

3.5.2 非侵入式接口

 
 

3.5.3 接口赋值

 
 

3.5.4 接口查询

 
 

3.5.5 类型查询

 
 

3.5.6 接口组合

 
 

3.5.7 Any类型

博客地址:http://blog.yoqi.me/?p=13012
扫我捐助哦
喜欢 1

这篇文章还没有评论

发表评论