インストール Go
Download and installのページに行き、環境に適したものをインストールする。
インストールするとシステムが立ち上げるので、手順に沿って進めていく。
Finish後、Go
がインストールされていることを確認する。
コマンドを開き、go version
を叩くとgo version go1.21.1 windows/amd64
と表示された。
これでインストールされていることを確認できた。
Hello World
次にHelloWord
を表示させる。
まずは任意の場所に適当なフォルダを作成する。
mkdir HelloWorldGo
cd HelloWorldGo
モジュールを作成する
次に、
go mod init example/hello
上記コマンドでモジュールの作成を行うのだが、
'go' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
というエラーが出た。
Path
を調べてみるとしっかりと通っている。 ということで再起動をする。
再起動で、
go mod init example/hello
go: creating new go.mod: module example/hello
無事に叩けるようになった。
上記コマンドで作成されたのは、go.mod
というファイルで、
module example/hello
go 1.21.1
という記載がある。
調べてみるとこれは、依存関係のバージョン管理をするものらしい。 つまり、スクリプトを記述しないJavaScript
のpackage.json
みたいなものらしい。
疑問点が解消されたので、次に行く。
Mainパッケージの作成
hello.go
ファイルを作成し、
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
をと記述する。
go run .
上記コマンドを叩けば、
Hello, World!
Goエンジニアのスタートラインに立てた。
外部パッケージの呼び出し
外部パッケージのコードを呼び出してみる。
まずはhttps://pkg.go.dev/でパッケージを検索する。 今回はチュートリアルに沿って、https://pkg.go.dev/rsc.io/quote/v4というパッケージを使用することにする。
次にhello.go
の内容を変更する。
package main
import "fmt"
import "rsc.io/quote"
func main() {
fmt.Println(quote.Go())
}
"rsc.io/quote"
をimport
して"rsc.io/quote"
のパッケージを使用するできるようにした。
次にルートにgo.sum
ファイルを作成する。
このファイルではgo.mod
で定義したプロジェクトのモジュール構成と依存関係のバージョン管理に使用するらしい。
次にgo mod tidy
コマンドを実行する。
このコマンドは
- 実際に使われていない依存関係を削除
- importした依存関係をインストール
- つまり、プロジェクトの依存関係を最新化できる
上記の通りの動きをする。
>go mod tidy
go: finding module for package rsc.io/quote
go: found rsc.io/quote in rsc.io/quote v1.5.2
実行すると上記のように依存関係がインストールされた。
最後に実行してみる。
go run .
Don't communicate by sharing memory, share memory by communicating.
という風によくわからない文章が出力された。
Githubを見ると、そういう風に返すようにできているので、正しく動いている。