はじめに
僕は GO言語 初心者なのですが、先日
???「これぐらいの奇蹟…安いもの!!」1種2種混合機の 80% ループで大連荘を生み出せ!
という記事を書きました。
手探りでコーディングしていく中で覚えたことをまとめて行きます。
今回はライブラリについてです!
ライブラリを使う
ライブラリとは
汎用性の高いプログラムを再利用可能な形でまとめておくものです。
GO言語 の場合はライブラリから必要なパッケージを import
して利用する形になります。
標準のライブラリですと、フォーマットを扱う fmt
パッケージや、擬似乱数を扱う rand
など、様々なものがあります。
また、GitHub
などに公開されているオープンソースのライブラリも同様に利用することが可能です。
インポートしよう
例えば、fmt
パッケージを利用する場合、
package main
import "fmt"
func main() {
fmt.Println("fmt が利用可能に!")
}
このように import
することで利用可能になります。
複数のライブラリを利用する場合は、
package main
import (
"fmt"
"math/rand"
)
のように import ( /* any libraries */ )
括弧でくくることで複数の指定が可能です。
オープンソースのライブラリも利用してみましょう。
package main
import (
"fmt"
"log"
"os"
"github.com/urfave/cli"
)
func main() {
app := cli.NewApp()
app.Name = "greet"
app.Usage = "fight the loneliness!"
app.Action = func(c *cli.Context) error {
fmt.Println("Hello friend!")
return nil
}
err := app.Run(os.Args)
if err != nil {
log.Fatal(err)
}
}
前回も紹介した urfave/cli を利用するサンプルですが、これを実行してみると...
> go run ./
main.go:8:2: cannot find package "github.com/urfave/cli" in any of:
C:\Go\src\github.com\urfave\cli (from $GOROOT)
$GOPATH\src\github.com\urfave\cli (from $GOPATH)
$GOROOT
や $GOPATH
に該当のライブラリがないと言われてしまいました。
インポートの前に
外部ライブラリを使用する場合、コード上で import
するだけでは利用できず、実際にコードがダウンロードされている必要があります。
> go get github.com/urfave/cli
このように go get
コマンドを実行することで、指定したライブラリを $GOPATH/src
へダウンロードし、ビルドしてくれます。
ダウンロードできたら再度実行してみましょう!
> go run ./
Hello friend!
バッチリです!
おわりに
GO言語 には標準でたくさんのライブラリが用意されています。
それ以上に多くのオープンソースのライブラリが存在します。
僕みたいな初心者では出来ないこともライブラリを使えばできてしまう...素敵ですね!
素晴らしいライブラリをどんどん利用しつつ、素敵な Golang Life を送っていきましょう!