go语言中的方法method
2024-09-29 16:00:51
package main; import "fmt" //重新定义一个类型
//为该INT类型扩展方法
type INT int; type A struct {
name string;
} type B struct {
name string;
} func main() {
a := A{};
a.Print(); //指针传递
a.Print2();
fmt.Println(a);
//同上
(*A).Print2(&a); b := B{};
b.Print(); var c INT;
c.Print();
} //方法method
//GO中没有class,但有method //为结构A绑定方法
func (a A) Print() {
fmt.Println("A");
} //指针传递
func (a *A) Print2() {
//修改了变量的的值
//方法中是可以访问结构的私有字段
a.name = "A";
} //为结构B绑定方法
func (b B) Print() {
fmt.Println("B");
} //给INT类型绑定Print方法
func (i INT) Print() {
fmt.Println("INT");
}
最新文章
- IOS之Objective-C学习 代理设计模式
- 服务器后台TCP连接存活问题
- React Native在Windows下修改js代码后reload无效
- 黑马程序员_JAVA基础知识总结2
- 【24】若所有参数皆需类型转换,请为此采用non-members函数
- 六月计划#1B(6.1-6.8)
- git问题 next fetch will store in remotes/origin
- Linux 挂载光驱
- Beans(dp,两次dp)
- 手把手教你如何加入到github的开源世界! (转)
- 探寻宝藏(双向DP)
- Jsp属性范围
- Atom打造 c/c++编译环境(忙了一个上午)
- 《java入门第一季》之面向对象(多态向下转型)
- 内存管理-MRC与ARC详解
- 【English Teradata】名称缩写
- vue开发常见命令
- Neo4j导入本地csv问题
- squid代理
- response设置编码格式