怪物奇妙物语

宇宙无敌超级美少男的怪物奇妙物语

首页 新随笔 联系 管理
  819 随笔 :: 0 文章 :: 2 评论 :: 16万 阅读

golang 函数和方法的区别

一句话总结就是,func直接函数名就是函数,否则就是方法.
至于是谁的的方法,看函数前面有没有*号的指向.

golang中函数第一等公民,所以以函数优先.

demo\main.go

package main
import "fmt"
// 定义一个结构体
type Student struct {
name string
age int
}
// 定义一个函数,用于打印学生信息,它不依赖于特定的 Student 类型实例
func printStudentInfo(s Student) {
fmt.Printf("学生姓名:%s,年龄:%d\n", s.name, s.age)
}
// 定义一个方法,用于修改学生的年龄,它与 Student 类型关联
// ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
// func直接函数名就是函数,否则就是方法
func (s *Student) setAge(newAge int) {
s.age = newAge
}
func main() {
// 创建一个 Student 实例
stu := Student{name: "Alice", age: 20}
// 调用函数
printStudentInfo(stu)
// 调用方法
stu.setAge(21)
printStudentInfo(stu)
}

demo\main_test.go

package main
import "testing"
func TestMain(t *testing.T) {
t.Run("testMain", func(t *testing.T) {
main()
})
}
posted on   超级无敌美少男战士  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验
点击右上角即可分享
微信分享提示