Go
golang

[GO言語] ライブラリの使用方法


はじめに

僕は GO言語 初心者なのですが、先日

:link: ???「これぐらいの奇蹟…安いもの!!」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 を送っていきましょう! :yum: