2016-05-19 12 views
1

私はそれに与えられたすべてのパラメータと減算のための関数を作る方法を知っています。そして、私は加算と減算と乗算と除算のための簡単な数学ライブラリを作りたかったのですが、私のインターネットはライブラリは結果が出なかった。 .goをライブラリにする方法があるかどうかを知りたければ、それをどうやって行うのですか?私はまだ非常に新しいです。あなたに教えてください。Goコードをライブラリにするにはどうすればよいですか?

+1

[this](https://golang.org/doc/code.html)、[this](http://dave.cheney.net/2014/12/01/five-suggestions-for-setting -up-a-go-project)と[this](https://github.com/golang/go/wiki/GithubCodeLayout)を開始します。ああ、[this](https://blog.golang.org/organizing-go-code)も。 – kostix

答えて

1

パッケージにgo installを実行すると、そのパッケージの名前を持つ静的ライブラリが作成され、GOPATH/pkg/ARCH/packageName/packageName.aに配置されます。あなたがgo installをすれば、あなたは意志、今

package myMath 

func MyAdd(/* .... */) { // Capatalize the name of the function to allow it to be accessible from outside of this package 
    // Do stuff 
} 

:の内容と

/home/yourname/go/src/myMath/myMath.go

:あなたは/home/yourname/goとしてあなた$GOPATHセットを持っている場合たとえば、あなたは次のファイルを作成することができます上記のディレクトリにmyMath.aライブラリがあります。

myStatsでは、次の操作を行うことができ、言って、別のゴーパッケージからこのライブラリを使用するには:

package myStats 

import "myMath" // import your library. notice the "" around the name 

func someFunction(/* .... */) { 
    r := myMath.MyAdd(/* ..... */) 
} 

お知らせを再びあなたがあなたの外から使用することを希望する機能の名前を大文字にしていることパッケージ。たとえば、追加機能がmyAddと指定された場合、myMathパッケージをインポートしても、myStatsからアクセスできなくなります。

は、以下の@iczaのコメントに基づいていくつかのエラーを修正しました。

+1

パッケージフォルダは 'pkg'(' pack'ではなく)です。 'go build'は' * .a'ファイルを作成しません(結果を破棄します)。 「ビルドビルドは何ですか?」(http://stackoverflow.com/questions/30612611/what-does-go-build-build)を参照してください。 – icza

関連する問題