【Golang学習ノート】入門:環境変数とPackage

2687 ワード

Golang入門学習
かんきょうへんすう
Golangの環境変数にはGOROOTとGOPATHがある
GOROOT
GOROOTはGolangのインストールパスであり、macを例にHomebrewでインストールしたGolangの後、ローカル環境変数を構成することができます.
export GOROOT=/usr/local/go

GOPATH
GOPATHはコンパイル後のバイナリの格納先やimportパッケージとしての探索経路であり,Golangプロジェクトを自分で作成する作業ディレクトリである.GOPATHは、go run、go install、go getなどのgoコマンドが実行するターゲットパスであり、これらのコマンドが操作するディレクトリがGOPATHである.GOPATHの下には主に3つのディレクトリがあります.
.(GOPATH)
├── bin
│   └── initdb
├── pkg
│   └── darwin_amd64
└── src
    ├── README.md
    ├── code
    ├── conf
    ├── github.com
    ├── go.opentelemetry.io
    ├── golang.org
    ├── google.golang.org
    ├── gopkg.in
    ├── gpool
    ├── httpserver
    ├── initdb.go
    ├── install.sh
    ├── logs
    ├── proto
    ├── rpcclient
    ├── tcpserver
    └── utils

binディレクトリには主に実行可能なファイルが格納されます.pkgディレクトリはコンパイルされた中間ライブラリファイルを格納し、主に*.aファイルである.srcディレクトリの下には主にgoのソースファイル(.go.c.h.sなど)が格納されます.開発中、他のプロジェクトを参照する必要がある場合は、import "github.com/jinzhu/gorm"を使用して$GOPATH/src/github.com/jinzhu/gormというプロジェクトを参照します.go getコマンドに対応する効果は、選択した項目にリモートのパケットを導入することであり、導入依存と理解できる.あるプロジェクトを例にとると、あるプロジェクトについてpackage mainがあれば、このgoファイルがプライマリファイルであり、コンパイルされて実行されるように構成されている.
グローバルGOPATHとプロジェクトGOPATH
プロジェクトごとに個別のGOPATHを設定する必要があります.このように、プロジェクトはパッケージを参照するときに、まずGOROOT/srcで探します.例えば、fmtは出力パッケージを入力し、見つからないときはPROJECT GOPATH/srcを探します.もし見つからない場合は、GLOBAL GOPATH/srcを探します.そうすれば、共通のパッケージをグローバルディレクトリに入れることができます.残りは自己定義です.プロジェクトファイルのクリーン化とコンパイルの正確性を保証します.go envコマンドを使用して、GOROOTおよびグローバルGOPATHを表示します.
$ go env
...
GOPATH="/Users/jinchenglv/go"
GOROOT="/usr/local/go"
...

プロジェクトの作成
mkdir gotest
cd gotest
touch hello.go
hello.goで編集:
package main
import "fmt"
func main() {
      fmt.Println("Hello,   !")
}

次の2つの方法があります.
  • プロジェクトルートディレクトリの下でgo build構築プロジェクトを実行すると、helloファイルが生成されます.生成する./helloを実行し、端末はHello, !
  • を印刷する.
  • コマンドgo run hello.goを直接実行するプログラム
  • を実行する.
    GolangのパッケージPackage
    PythonやJavaとは異なり、Golangではimportがパッケージ名ではなくディレクトリをインポートします.また、Golangはパッケージ名とディレクトリ名の一致を強制していません.このセクションでは、[Go]パス、ディレクトリ名、パッケージ名、ファイル名を参照してください.Golangではimportを使用して他のパッケージを導入します.コンパイラ・ガイド・パッケージの順序は、GOROOT-> GOPATH-> GOPATHが見つからない場合、コンパイラがエラーを報告します.
    Reference
  • go環境変数構成(GOROOTとGOPATH).https://www.jianshu.com/p/4e699ff478a5
  • Golang入門(1):環境変数のインストールと構成の意義.https://juejin.im/post/5e899860518825737d49cdc6