go语言中的方法method

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");
}

  

相关推荐:

如何在 SFTTrainer 中融入负样本进行语言模型微调?

SFTTrainer本身不支持负样本训练,因其本质是监督式最大似然优化;如需引入负向信号,可考虑改用KTOTrainer,或通过构造含明确否定标记的提示模板间接建模。 如需在sfttrainer中融入负样本进行语言模型微调,需明确一个关键前提:sfttrainer的设计目标是标准监督微调(super...

如何在 SFTTrainer 中利用负样本进行语言模型微调?

sfttrainer本身不支持负样本训练,因其本质是监督式最大似然优化;如需引入负例信号,可选用ktotrainer等对齐算法,或通过构造带明确负向标记的prompt实现间接建模。 sfttrainer本身不支持负样本训练,因其本质是监督式最大似然优化;如需引入负例信号,可选用ktotrainer等...

Python如何实现类似C语言的结构体_使用namedtuple或dataclass定义

namedtuple适合轻量只读场景,如配置常量、函数多返回值、字典key;dataclass适用于需可变、默认值、方法、序列化的开发需求;性能敏感且字段固定时可选TypedDict或手写__slots__类。 用namedtuple定义不可变结构体,适合轻量只读场景 当你要建一个类似C的struc...

如何正确读取包含本地语言(如印地语)的CSV文件

python中读取含本地语言(如印地语)的csv文件时出现乱码(如“??????????”),通常是因文件未以utf-8编码保存或读取时未正确声明编码所致;解决关键在于确保csv文件以utf-8withbom(即“csvutf-8”格式)保存,并在python中统一使用utf-8解码。 python...

如何在BERT掩码语言建模中支持多标签正确性判定

本文介绍一种实用策略:通过构建结构化二分类辅助数据集,结合bert掩码预测与后验语义等价校验,实现对同一掩码位置多个语义正确答案(如“equals”“gives”“isequalto”)的灵活接纳,提升算术语义理解任务的鲁棒性。 本文介绍一种实用策略:通过构建结构化二分类辅助数据集,结合bert掩码...

如何在BERT掩码语言建模中支持多标签正确性判断

本文介绍一种实用策略:通过构建结构化二分类辅助数据集,配合标准BERT掩码微调流程,实现对同一掩码位置多个语义等价答案(如“equals”“gives”“isequalto”)的灵活接纳,提升模型在算术语义理解任务中的鲁棒性与泛化能力。 本文介绍一种实用策略:通过构建结构化二分类辅助数据集,配合标准...