1func (f *File) Close() error {2if err := f.checkValid("close"); err != nil {3return err4}5return f.file.close()6}Copied!
Close()
函数就是类型方法,因为函数名称前面和func
关键字后面有(f *File)
参数。f
参数被称为方法的接收器;在面向对象编程术语中,这个过程可以描述为向对象发送消息。在Go语言中,方法的接收器是使用常规变量名定义的,通常使用单个字母,而不需要使用专用关键字,如this
或self
。methods.go
文件的Go代码来呈现一个完整的示例,包含以下四部分。twoInts
,该结构体包含两个int64
类型的字段。regularFunction()
的函数,该函数接收两个twoInts
类型的参数,并返回一个twoInts
类型的值。i.method(j)
)的方式是与普通函数(regularFunction(i,j)
)的调用方式不同。methods.go
的输出如下:1$ go run methods.go2{-4 0}3{-4 0}Copied!