go语言中可以通过关键字type来定义一个结构体为对象,不像Java中一个类可以表示一个对象
如下
//不像java需要指定 各种参数的构造函数
type Student struct {
name string
sex int8
age int8
classId string
}
类型在后面 字段在前面,不像java中类型在前面 字段在后面,类型前还需要修饰符,然后配合get set设置属性值
相对于在go语言中简洁多了,不管是创建对象 还是设置属性值都很简洁
//类似java全部参数构造
fmt.Println(Student{"张三", 1, 18, "1-1"})
fmt.Println(Student{"李四", 1, 19, "1-2"})
//可以指定 部分参数构造
fmt.Println(Student{name: "张三", sex: 2, age: 19, classId: "1-3"})
//其他属性不指定 表示为空
fmt.Println(Student{name: "王五"})
//键值对初始化
var s1 = &Student{
name: "詹桑",
}
fmt.Println(s1)
//访问成员变量
var stu Student
//指针值初始化
stu.age = 19
stu.sex = 1
stu.classId = "2-1"
stu.name = "小王啊"
fmt.Println(stu)
println("函数传递 ")
可以看到也不需要set get 也不需要构造方法也需要重写各种方法如toString 等,直接赋值输出即可,就是这么丝滑
go语言中如何设置专属对象调用方法呢
可以通过如下设置方法
func 方法名(type 类型)表示只有当前type类型对象可以调用方法
func (stude Student)stuVoid() {
fmt.Println("打印name :", stude.name)
}
对象.调用即可
stu.stuVoid()