GoLangのメソッドパラメータとしてJavaがObjectを渡すことに相当

アルン:

System.out.println(message)すべての場所で入力するの飽きたら、Javaで次のようなメソッドを紹介します

private void print (Object message) {
   System.out.println(message);
}

そして、私は必要に応じてJavaでprint (2)を呼び出しますprint ("hi")

GoLangでも同じことができますか?このような機能

func print(message ) {
    fmt.Println (message)
}
icza:

Goは、多くの関数型プログラミング要素を備え手続き型プログラミング言語です。

関数はGoの第一級の型であり、関数型の変数を作成したり、これらの変数に関数値を割り当てたり、それらを呼び出すことができます(変数に格納されている関数値)。

だからあなたは単に行うかもしれません:

var myprint = fmt.Println

myprint("Hello, playground")
myprint(1, 3.14, "\n", time.Now())

上記の出力(Go Playgroundで試してください):

Hello, playground
1 3.14 
 2009-11-10 23:00:00 +0000 UTC m=+0.000000001

上記のmyprint変数の利点は、と同じシグネチャを持つことです。つまりfmt.Println()

func Println(a ...interface{}) (n int, err error)

はい、次のようなラッパー関数を作成することもできます。

func myprint(a ...interface{}) (n int, err error) {
    return fmt.Println(a...)
}

そして、それはを呼び出すのと同じように機能fmt.Println()ますが、変数の使用はそれほど冗長ではなく、実行時関数値を変更できるという利点があります。これは、テストを作成するときに非常に便利です(例については、os.Exitシナリオのテストを参照してください)Go with Coverage information(coveralls.io/Goveralls))。

トピックの詳細:

Dave Cheney:ファーストクラスの機能を恐れないで

golangbot.com:ファーストクラス関数

さらにもう1つの可能性は「ドットインポート」を使用することですが、私はそれをお勧めしません。

import (
    . "fmt"
)

func main() {
    Println("Hello, playground")
}

「ドットインポート」を使用すると、修飾された識別子を使用しなくても、インポートされたパッケージのすべてのエクスポートされた識別子にアクセスできるようになります仕様からの引用:インポート宣言:

.名前の代わりに明示的なピリオド()が表示される場合、そのパッケージのパッケージブロックで宣言されているすべてのパッケージのエクスポートされた識別子は、インポート元のファイルのファイルブロックで宣言され、修飾子なしでアクセスする必要があります。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

メソッドをパラメーターとしてJavaの別のメソッドに渡す

分類Dev

Javaは、他のメソッドにパラメータとしてメソッド参照を渡します

分類Dev

Java 8のメソッドをパラメーターとして渡す

分類Dev

メソッドをパラメーターとして別のメソッドに渡しますが、パラメーターを使用します

分類Dev

フィールド名/型をパラメーターとしてJavaのメソッドに渡す

分類Dev

このメソッド呼び出しは、null以外のメソッドパラメータにnull値を渡します。パラメータは常にnull以外のパラメータとして注釈が付けられている

分類Dev

Kotlinの別のメソッドにパラメーターとして静的メソッドを渡す

分類Dev

メソッド名をパラメーターとして別のメソッドに渡す

分類Dev

メソッドをパラメーターとして別のメソッドに渡す

分類Dev

メソッドをパラメーターとして渡す

分類Dev

メソッドをパラメーターとして渡す

分類Dev

パラメータとしてメソッドに渡す方法

分類Dev

varargパラメーターの一部としてnullをKotlinからJavaメソッドに渡す

分類Dev

パラメータとしてメソッドを渡す

分類Dev

List <ChildClass>を、List <ParentClass>をパラメータとして受け取るメソッドに渡すことができないのはなぜですか?

分類Dev

Javaでメソッドパラメータとして型を渡す方法

分類Dev

関数をパラメーターとしてメソッドに渡す

分類Dev

メソッドのパラメーターとして配列を渡す

分類Dev

メソッドの名前をパラメーターとして渡す

分類Dev

Pythonのパラメーターとしてメソッドを渡す

分類Dev

Java:パラメーター付きの非voidメソッドを別のメソッドのパラメーターとして渡す

分類Dev

クラスをパラメーターとそのメソッドとして動的に渡す-php

分類Dev

メソッドのパラメーターとしてクラスを渡し、Ifステートメントでこのパラメーターを使用する

分類Dev

Javaハッシュマップ-メソッドのパラメーターとして「値」を渡すことで「キー」を取得/取得する

分類Dev

クラスのメソッドをパラメーターとしてC ++の別のクラスに渡す

分類Dev

Rubyスレッドの結果をパラメーターとしてメソッドに渡します

分類Dev

メソッドパラメータとして複数の値を渡す

分類Dev

jqueryのパラメーターを本体からwebapipostメソッドに渡すことができません

分類Dev

asp.netのパラメーターとしてradiobuttonListをカスタムクラスのメソッドに渡すことは可能ですか?

Related 関連記事

  1. 1

    メソッドをパラメーターとしてJavaの別のメソッドに渡す

  2. 2

    Javaは、他のメソッドにパラメータとしてメソッド参照を渡します

  3. 3

    Java 8のメソッドをパラメーターとして渡す

  4. 4

    メソッドをパラメーターとして別のメソッドに渡しますが、パラメーターを使用します

  5. 5

    フィールド名/型をパラメーターとしてJavaのメソッドに渡す

  6. 6

    このメソッド呼び出しは、null以外のメソッドパラメータにnull値を渡します。パラメータは常にnull以外のパラメータとして注釈が付けられている

  7. 7

    Kotlinの別のメソッドにパラメーターとして静的メソッドを渡す

  8. 8

    メソッド名をパラメーターとして別のメソッドに渡す

  9. 9

    メソッドをパラメーターとして別のメソッドに渡す

  10. 10

    メソッドをパラメーターとして渡す

  11. 11

    メソッドをパラメーターとして渡す

  12. 12

    パラメータとしてメソッドに渡す方法

  13. 13

    varargパラメーターの一部としてnullをKotlinからJavaメソッドに渡す

  14. 14

    パラメータとしてメソッドを渡す

  15. 15

    List <ChildClass>を、List <ParentClass>をパラメータとして受け取るメソッドに渡すことができないのはなぜですか?

  16. 16

    Javaでメソッドパラメータとして型を渡す方法

  17. 17

    関数をパラメーターとしてメソッドに渡す

  18. 18

    メソッドのパラメーターとして配列を渡す

  19. 19

    メソッドの名前をパラメーターとして渡す

  20. 20

    Pythonのパラメーターとしてメソッドを渡す

  21. 21

    Java:パラメーター付きの非voidメソッドを別のメソッドのパラメーターとして渡す

  22. 22

    クラスをパラメーターとそのメソッドとして動的に渡す-php

  23. 23

    メソッドのパラメーターとしてクラスを渡し、Ifステートメントでこのパラメーターを使用する

  24. 24

    Javaハッシュマップ-メソッドのパラメーターとして「値」を渡すことで「キー」を取得/取得する

  25. 25

    クラスのメソッドをパラメーターとしてC ++の別のクラスに渡す

  26. 26

    Rubyスレッドの結果をパラメーターとしてメソッドに渡します

  27. 27

    メソッドパラメータとして複数の値を渡す

  28. 28

    jqueryのパラメーターを本体からwebapipostメソッドに渡すことができません

  29. 29

    asp.netのパラメーターとしてradiobuttonListをカスタムクラスのメソッドに渡すことは可能ですか?

ホットタグ

アーカイブ