首页 > go > go函数与方法的区别

go函数与方法的区别

方法也属于函数,方法是特殊的函数

方法的使用场景是, 类(struct)成员使用的函数,必须在声明时 ,明确该方法属于哪个类,不可以单独调用

函数的使用场景 和其他语言类似,就是代码的封装,把参数传进去,并返回结果

代码示例

package main

import "fmt"

//女王类
type Girl struct {
	Name string
	Age  int
}

//女王类的方法
func (msg Girl) sayhi(myage int) (int) {
	sum_age := msg.Age + myage

	return sum_age

}

func main() {

	// 普通函数调用
	//我要计算年龄的和
	age := getage(25)
	fmt.Println(age)

}

//普通函数定义
func getage(age int) int {

	//初始化女王资料
	fm := Girl{Age: 18, Name: "女王陛下"}

	//算算我的年龄加上女王年龄是多少岁
	sum_age := fm.sayhi(age)

	fmt.Println("女王资料:", fm, "我的年龄和女王年龄相加", sum_age)
	/*女王资料: {女王陛下 18} 我的年龄和女王年龄相加 43*/

	//普通函数 返回值
	return sum_age

}