A Tour of Go をやる! – その3 「Imports」いんぽーっ! 【Go言語/A Tour of Go】

記事ヘッダー_Imports IT

「A Tour of Go をやる!」シリーズの第3回目。

今回も「A Tour of Go」を進めるんですが、ちょっと前回書きすぎまして…、今回はうっすい内容になりそうです…。

- PR -

お題は「Imports(インポート)」

該当ページはこちら。

A Tour of Go

パッケージ読み込みます宣言、「Imports(インポート)」がお題。

Imports とは?

パッケージ使う前する “私、パッケージ使います…!” 宣言ですかね。

例えば、文字列を出力するための Printf ファンクションが使いたければ、Printf が定義されている fmt パッケージをインポートしないと「undefined: fmt( fmt って何ー??)」と怒られます。

これは、Go のコンパイラに Printf ファンクションの所在が伝わっていないため。
「Import fmt」と明示的に宣言することで、「fmt パッケージに所属している Printf くんだね!」ということが明確になる。

サンプルプログラムを見る

サンプルプログラムが用意されているので、実際の Import の宣言部分を確認してみます。
今回も関係のある箇所にコメント入れています。

Go
package main

// Printf と Sqrt が定義されているパッケージをインポート
import (
  "fmt"
  "math"
)

func main() {

  // Printf と Sqrt を使用している
  fmt.Printf("Now you have %g problems.\n", math.Sqrt(7))

}
Expand

Import の書き方は前回説明しちゃったんですが、一応コピペしておきます。

Go
// fmt をインポートする場合
import "fmt"
// 複数のパッケージをまとめてインポートする場合
import (
  "fmt"
  "math"
)
Expand

複数のパッケージを Import する場合…

factored import statement で書くほうが良いスタイルと…、ページの説明に書いてありました。ちなみに、factored import statement とは括弧でまとめる書き方を指すようです。

Go
// このパターン
import (
  "packageA"
  "packageB"
)
Expand

サンプルプログラムを実行する

サンプルプログラムを実行してみます。

Go
package main

// Printf と Sqrt が定義されているパッケージをインポート
import (
  "fmt"
  "math"
)

func main() {

  // Printf と Sqrt を使用している
  fmt.Printf("Now you have %g problems.\n", math.Sqrt(7))

}
Expand

Go Playground

7 の平方根が出力されるはずです。
ちなみに、 math.Sqrt は平方根を返すファンクションです。

さいごに

今回は Import な話題、前回に続きパッケージ関連の内容でした。
実は次回も似たようなものだったりします。

…こりゃ、飽きる_(┐「ε:)_

ではまた次回~ ٩(-ω-´)و

コメント

タイトルとURLをコピーしました