美文网首页
Golang基础(七)——方法method

Golang基础(七)——方法method

作者: Eric木子 | 来源:发表于2017-12-10 22:08 被阅读0次

Golang基础(七)——方法method

@([07] golang)[Go总结]

可以对包内的任意类型定义任意方法,但不能对来自其他包的类型或基础类型定义方法(可以通过自定义底层类型为基础类型的新类型,再对自定义的类型定义方法)。

方法只是一个含有特定接收者参数的函数。

一个方法的接收者必须是一个该类型的值或者该类型值的指针。

任何一个给定的类型的每个方法名必须唯一,不能同时定义两个相同名字的方法,并且golang中方法不支持重载方法。

声明一个结构的方法

// func(变量名 变量类型) 方法名(方法参数){
// 方法实现
// }
func (b B) Print() {
    fmt.Println("B")
}

type定义的任意类型都可以声明方法

package main

import "fmt"
// 定义一个底层类型为int的TZ类型
type TZ int

func main() {
    var a TZ
    a.Print()
}
func (a *TZ) Print() {
    fmt.Println("TZ")
}
接收者为指针的方法

使用类型的指针作为方法的接收者的好处:

  1. 可以避免在每个方法调用中进行值拷贝(在大的类型结构体中效率更高);
  2. 可以在方法中修改接收者指向的值

相关文章

  • Golang基础(七)——方法method

    Golang基础(七)——方法method @([07] golang)[Go总结] 可以对包内的任意类型定义任意...

  • python+requests接口测试基础

    一、request库七种请求方法 七种方法都有三个基础的参数(method,url,**kwargs) metho...

  • 方法method-GOLANG

    golang -@amazeUI -2017-09-12 16:55:44 type A struct { Nam...

  • 《日子》golang-方法method

    方法method -Go中虽没有class,但依旧有method-通过显示说明receiver来实现与某个类型的组...

  • golang:method

    golang中方法是一个函数加上一个函数的接受者,接受者可以是值类型也可以是指针类型。关键字func和函数名之间的...

  • Golang | 方法集的那些事

    类型的值也可以调用指针接收者的方法! 学习golang中关于方法部分知识的人一定了解过方法集(Method Set...

  • ios-Runtime学习篇

    一、基础知识 Method :成员方法 Ivar : 成员变量 二、常用方法 class_copyProperty...

  • 方法集与表达式

    Golang 表达式 :根据调用者不同,方法分为两种表现形式: 前者称为 method value,后者 meth...

  • Golang学习笔记之方法(method)

    如果对与结构体还有什么疑问的可以看一下Golang学习笔记之结构体 ⽅法总是绑定对象实例,并隐式将实例作为第⼀实参...

  • 2019-03-01

    方法 方法的基础语法-方法的重载机制overload 方法【method】的本质 代码片段,且这段代码可以完成某个...

网友评论

      本文标题:Golang基础(七)——方法method

      本文链接:https://www.haomeiwen.com/subject/iccbixtx.html