技術向上

プログラミングの学び、気になるテクノロジーやビジネストレンドを発信

サードパーティによるpackage【Go】

インストール

GoDocから、もしくは直接githubで対象のpackageを確認します。

Installに記載されているコマンドを実行します。
今回のpackageはgo-talibです。

$ go get github.com/markcheno/go-talib


インストールされたファイルは、 $GOPATH直下の
srcフォルダ内github.comフォルダに格納されます。
$GOPATHは次のコマンドで確認できます。

echo $GOPATH

出力されない場合は、 $GOPATHの設定に不備があるかもしれません。

$ vi ~/.bash_profile

で確認してみましょう。

ファイル編集

次に、githubのページに記載されている、ExampleやUsageを参考に、
mainファイルやpackageを使用するファイルに記述します。

package main

import (
    "fmt"

    "github.com/markcheno/go-quote"
    "github.com/markcheno/go-talib"
)
    
func main() {
    spy, _ := quote.NewQuoteFromYahoo("spy", "2016-01-01", "2016-04-01", quote.Daily, true)
    fmt.Print(spy.CSV())
    rsi2 := talib.Rsi(spy.Close, 2)
    fmt.Println(rsi2)
}


今回インストールしたtalibでは、記載されていたExampleの通りに実行する場合、
talib自体の他に、go-quoteのpackageもインストールする必要があります。

インストールしたpackageに次の通り別名をつけることもできます。

import (
    ta "github.com/markcheno/go-talib"    // taと別名をつける
)


また、自分が記載するソースコード上では使用しないものの、
何かしらのpackageによる制約などで、コンパイルはさせたいという場合、
アンダースコアの別名をつけることで実現できます。

import (
    _ "github.com/markcheno/go-talib"    // _と別名をつけることで、ソースコード上使用がなくてもコンパイルされる
)

goの場合、ソースコード上使用されていないpackageは、importからコンパイル時に除外されてしまいますので、
そのような特殊な条件の場合には、上記対応が必要です。