2017-12-23 7 views
-2

例:そのパッケージ名を使用せずに、パッケージの関数を呼び出しますか?

package "main" 

import blah "fmt" 

func main() { 
    blah.Println("hey there") 
} 

しかし、達成するためにfmtをインポートするには、とにかくあり:

package "main" 

import "fmt" 

func main() { 
    fmt.Println("hey there") 
} 

を書くことができ

package "main" 

import "fmt" // ??? 

func main() { 
    Println("hey there") 
} 

コントラストにより、C#では、あなたが使用してこれを行うことができます静的インポート(例えば、using static System.Console)。これはGoで可能ですか?

+0

回復のための私の悪い、感謝。 –

+0

NP私はちょうどあなたがそれがゴーコミュニティによって落胆だと言うときは10分前に自分 – tarrball

答えて

7

使用。 (明示的な期間)インポート。 specification says:(。)そのパッケージのパッケージ・ブロックで宣言された明示的な期間は、名前の代わりに表示されている場合は

、すべてのパッケージのエクスポート識別子は、インポート・ソース・ファイルのファイルブロック内で宣言され、修飾子なしでアクセスする必要があります。

例:

package main 

import (
    . "fmt" 
) 

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

明示的な期間の使用は囲碁のコミュニティで推奨されていません。

別のオプションは、関数への参照をパッケージレベルの変数を宣言することです。

package main 

import (
    "fmt" 
) 

var Println = fmt.Println 

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

、私は関数呼び出しが少なく、明示的であるため、それはだと推定することを学びましたか? – tarrball

+2

はhttps://github.com/golang/go/wiki/CodeReviewComments#import-dotを参照してください。 –

関連する問題