Go中的功能和方法有何不同?

我正在尝试开始使用Go,并且文档非常好。我在文档中没有找到的是函数和方法之间的区别。

据我目前的了解:函数是“全局”的,这意味着我不必导入包即可使用函数,它们始终存在。方法绑定到包。这样对吗?


动漫人物
浏览 223回答 3
3回答

慕斯709654

据我目前的了解:函数是“全局”的,这意味着我不必导入包即可使用函数,它们始终存在。方法绑定到包。这样对吗?不,那是不正确的。内置软件包中只有几个功能始终可用。其他所有内容都需要导入。术语“方法”是面向对象的编程。在OOP语言中(例如C ++),您可以定义一个“类”,该类封装了属于同一类的数据和函数。类内部的那些函数称为“方法”,您需要该类的实例才能调用这种方法。在Go中,术语基本相同,尽管Go不是经典意义上的OOP语言。在Go中,接收器的函数通常称为方法(可能只是因为人们仍然习惯于OOP的术语)。因此,例如:func MyFunction(a, b int) int {  return a + b}// Usage:// MyFunction(1, 2)但type MyInteger intfunc (a MyInteger) MyMethod(b int) int {  return a + b}// Usage:// var x MyInteger = 1// x.MyMethod(2)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go