Goの関数とメソッドの違いは何ですか?

ドミニク・オーバーマイヤー

Goを使い始めようとしていますが、ドキュメントはとても良いです。ドキュメントで見つけられなかったのは、関数とメソッドの違いです。

私が現時点で理解している限り、関数は「グローバル」です。つまり、関数を使用するためにパッケージをインポートする必要はなく、常にそこにあります。メソッドはパッケージにバインドされています。これは正しいです?

tux21b

私が現時点で理解している限り、関数は「グローバル」です。つまり、関数を使用するためにパッケージをインポートする必要はなく、常にそこにあります。メソッドはパッケージにバインドされています。これは正しいです?

いいえ、それは正しくありません。組み込みパッケージには、いつでも利用できる機能がいくつかあります。他のすべてをインポートする必要があります。

「メソッド」という用語は、オブジェクト指向プログラミングを思いついた。OOP言語(たとえばC ++など)では、一緒に属するデータと関数をカプセル化する「クラス」を定義できます。クラス内のこれらの関数は「メソッド」と呼ばれ、そのようなメソッドを呼び出すには、そのクラスのインスタンスが必要です。

Goでは、用語は基本的に同じですが、Goは古典的な意味でのOOP言語ではありません。Goでは、レシーバーを受け取る関数は通常、メソッドと呼ばれます(おそらく、人々がまだOOPの用語に慣れているからです)。

したがって、たとえば:

func MyFunction(a, b int) int {
  return a + b
}
// Usage:
// MyFunction(1, 2)

だが

type MyInteger int
func (a MyInteger) MyMethod(b int) int {
  return a + b
}
// Usage:
// var x MyInteger = 1
// x.MyMethod(2)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Goの関数とメソッドの違いは何ですか?

分類Dev

メソッドと関数の違いは何ですか?

分類Dev

JS:関数式の関数とメソッドの違いは何ですか?

分類Dev

Swiftの関数とメソッドの違いは何ですか?

分類Dev

Pythonの型メソッドとMaya変換ノードの型関数の違いは何ですか?

分類Dev

$ scope。$ on( '$ routeChangeSuccess' ...)とスコープ関数のメソッドの呼び出しの違いは何ですか?

分類Dev

JS関数内のメソッドとそのプロトタイプの違いは何ですか?

分類Dev

Python 3の「関数」、「メソッド」、「バインドされたメソッド」の違いは何ですか?

分類Dev

Javaの組み込み関数とネイティブメソッドの違いは何ですか?

分類Dev

関数、非バインドメソッド、バインドメソッドの違いは何ですか?

分類Dev

NumPyオブジェクトメソッドとNumPy関数呼び出しの違いは何ですか?

分類Dev

Seleniumメソッドの違いは何ですか-maximum()とfullscreen()

分類Dev

Spring WebFluxとSpringAsyncメソッドの違いは何ですか?

分類Dev

メソッド属性TestMethodとTestMethod()の違いは何ですか?

分類Dev

静的メソッドと非静的メソッドの違いは何ですか?

分類Dev

ConfigureWebHostDefaultsメソッドとConfigureWebHostメソッドの違いは何ですか?

分類Dev

public voidメソッドとvoidメソッドの違いは何ですか?

分類Dev

Qtのスロットとメソッドの違いは何ですか?

分類Dev

セッターメソッドのvoidとselfの違いは何ですか

分類Dev

非同期メソッドとスレッドの違いは何ですか?

分類Dev

ShowとShowWithPathの2つのメソッドの違いは何ですか

分類Dev

geom_smooth()の「メソッド」引数値の違いは何ですか

分類Dev

メソッド引数として使用した場合の&Traitとimpl Traitの違いは何ですか?

分類Dev

`classmethod`とメタクラスメソッドの違いは何ですか?

分類Dev

マルチスレッドのsleep()メソッドとyield()メソッドの違いは何ですか?

分類Dev

JavaScriptの+演算子とconcat()メソッドの違いは何ですか

分類Dev

Ajaxのタイプとメソッドの違いは何ですか

分類Dev

jspdfのメソッドaddHTML()とfromHTML()の違いは何ですか?

分類Dev

OkHttpメソッドの.toString()と.string()の違いは何ですか?

Related 関連記事

  1. 1

    Goの関数とメソッドの違いは何ですか?

  2. 2

    メソッドと関数の違いは何ですか?

  3. 3

    JS:関数式の関数とメソッドの違いは何ですか?

  4. 4

    Swiftの関数とメソッドの違いは何ですか?

  5. 5

    Pythonの型メソッドとMaya変換ノードの型関数の違いは何ですか?

  6. 6

    $ scope。$ on( '$ routeChangeSuccess' ...)とスコープ関数のメソッドの呼び出しの違いは何ですか?

  7. 7

    JS関数内のメソッドとそのプロトタイプの違いは何ですか?

  8. 8

    Python 3の「関数」、「メソッド」、「バインドされたメソッド」の違いは何ですか?

  9. 9

    Javaの組み込み関数とネイティブメソッドの違いは何ですか?

  10. 10

    関数、非バインドメソッド、バインドメソッドの違いは何ですか?

  11. 11

    NumPyオブジェクトメソッドとNumPy関数呼び出しの違いは何ですか?

  12. 12

    Seleniumメソッドの違いは何ですか-maximum()とfullscreen()

  13. 13

    Spring WebFluxとSpringAsyncメソッドの違いは何ですか?

  14. 14

    メソッド属性TestMethodとTestMethod()の違いは何ですか?

  15. 15

    静的メソッドと非静的メソッドの違いは何ですか?

  16. 16

    ConfigureWebHostDefaultsメソッドとConfigureWebHostメソッドの違いは何ですか?

  17. 17

    public voidメソッドとvoidメソッドの違いは何ですか?

  18. 18

    Qtのスロットとメソッドの違いは何ですか?

  19. 19

    セッターメソッドのvoidとselfの違いは何ですか

  20. 20

    非同期メソッドとスレッドの違いは何ですか?

  21. 21

    ShowとShowWithPathの2つのメソッドの違いは何ですか

  22. 22

    geom_smooth()の「メソッド」引数値の違いは何ですか

  23. 23

    メソッド引数として使用した場合の&Traitとimpl Traitの違いは何ですか?

  24. 24

    `classmethod`とメタクラスメソッドの違いは何ですか?

  25. 25

    マルチスレッドのsleep()メソッドとyield()メソッドの違いは何ですか?

  26. 26

    JavaScriptの+演算子とconcat()メソッドの違いは何ですか

  27. 27

    Ajaxのタイプとメソッドの違いは何ですか

  28. 28

    jspdfのメソッドaddHTML()とfromHTML()の違いは何ですか?

  29. 29

    OkHttpメソッドの.toString()と.string()の違いは何ですか?

ホットタグ

アーカイブ