サードパーティによる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からコンパイル時に除外されてしまいますので、
そのような特殊な条件の場合には、上記対応が必要です。