面向对象编程
基本步骤对比python
最简单示例:写一个球员结构体,包含name string,gender string,age int,num int,ability float64字段;编写一个方法,调用后返回球员所有的信息
package main
import "fmt"
type player struct {name stringgender stringage introlenum intability int
}func (p *player) callback() string {res := fmt.Sprintf("定义球员信息如下:n姓名:%vn性别:%vn年龄:%dn球衣号码:%dn能力值:%dn",p.der,p.lenum,p.ability) //定义字符串打印的可以传递变量return res
}func main() {var p1 *player = &player{"durant","male",30,35,94} //后续工程中优秀做法是把结构体指针返还给变量,因为指针传递值很小,效率高res := p1.callback()fmt.Println(*p1) //由于var是一个指针,所以当查看实例的时候前面会加一个&符,去掉只需要打印*p1取值即可fmt.Println(res)
}
Golang中没有构造函数,使用工厂模式解决问题
一个非main包中定义了一个struct,但是首字母小写,struct字段也是小写,想在main()中调用这个结构体和字段,一般无法完成,选择工厂模式解决。
写一个常规方式无法导入的包:
package utils //创建一个utils包type students struct { //这个结构体是小写,无法用于其他包导入 Name stringAge intscore float64 //这个结构体的字段是小写,无法用于其他包导入
}func Student(n string,a int) *students { //写一个方法,装饰一下,方法本身首字母大写,所以可以被其他包导
本文发布于:2024-02-03 08:07:52,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170691887349744.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |