Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

はじめに

僕は 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:

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした