【4】go语言的学习之方法

在go语言中,可以给任意自定义类型添加方法
1>面向过程与面向对象的区别

package main

import "fmt"

// 面向过程
func Add01(a, b int) int {
	return a + b
}

// 面向方法
type long int
// 方法的定义: func (变量 类型) 方法名 (参数 类型) 返回值 {}
// 其中 (变量 类型) 又叫接收者,就是这份类型的变量绑定了这个方法
// 也就是说,只要变量是long类型的,那么这个变量就具有Add02这个方法
func (temp long) Add02(other long) long {
	return temp + other
}

func main() {
	res := Add01(2, 3)
	fmt.Println(res)

	var a long = 3
	r := a.Add02(3)
	fmt.Println(r)
}
// 面向对象只是换了一种表现形式,本质上是一样的

2>给结构体类型绑定方法

package main

import "fmt"

type Person struct {
	name string
	sex  string
	age  int
}

// 带有接收者的函数叫方法
func (tmp Person) printInfo() {
	fmt.Println(tmp)
}

func main() {
	per := Person{"yoyo", "f", 22}
	per.printInfo()
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值