0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Go言語をゼロから学んでおりその学習メモです。
タイトルに「Part1」とつけましたが、続きを書くかは分かりません。

Goのインストール

下記はMacでHomebrewを使ってインストールする方法です。

brew install go

go version
go version go1.23.5 darwin/arm64

which go
/opt/homebrew/bin/go

  • サードパーティのモジュールやパッケージは$GOPATHディレクトリの下にダウンロードされる
  • コマンドは$GOPATH/bin配下にインストールされる
  • $GOPATHはデフォルトではホームディレクトリ配下のgoディレクトリを指しています

Goコマンド

go run

  • go runコマンドを使うと、Goのプログラムをインタプリタ言語のスクリプトのように扱うことができる
hello.go
package main

import "fmt"

func main() {
	fmt.Println("Hello, world")
}
go run hello.go
Hello, world

go runの裏側では以下のような処理が行われる。

  1. go runでバイナリファイルがビルドされ、一次ディレクトリに置かれる
  2. そのファイルを実行する
  3. プログラムの終了後、そのファイルが削除される

go build

  • 再利用できるように実行形式のバイナリファイルを作りたい場合はgo buildコマンドを使う。

  • go buildを実行するとhelloという実行形式ファイルが同じディレクトリに生成される。

go build hello.go 
ls -l
total 4392
-rwxr-xr-x  1 kazunori  staff  2242786  1 18 17:38 hello
-rw-r--r--  1 kazunori  staff       73  1 18 17:26 hello.go

これを実行すると「Hello, world」が表示される

./hello
Hello, world

バイナリファイルのファイル名や保存場所を変更したい場合は-oオプションを使う

go build -o hello_world hello.go
ls -l
total 8776
-rwxr-xr-x  1 kazunori  staff  2242786  1 18 17:38 hello
-rw-r--r--  1 kazunori  staff       73  1 18 17:26 hello.go
-rwxr-xr-x  1 kazunori  staff  2242786  1 18 17:43 hello_world

go mod

  • Goの「モジュール」という機能を使うことができる。
// プロジェクトのディレクトリを作成
mkdir hello_world

// モジュールを初期化
cd hello_world
go mod init hello_world
go: creating new go.mod: module hello_world

// `go.mod`というファイルができている
ls -l
total 8
-rw-r--r--  1 kazunori  staff  30  1 18 17:49 go.mod

// `go.mod`のファイルの内容を確認
cat go.mod 
module hello_world

go 1.23.5

  • go.modファイルがあるとそのディレクトリに置かれた.goファイルを解析してコンパイルしてビルドしてくれる
  • そのため、go buildコマンドの引数にファイル名を指定する必要がない
./hello_world 
Hello, world

go install

  • Goのプログラムはソースが公開されていて、それをgo installコマンドでインストールできる
go install github.com/rakyll/hey@latest
go: downloading github.com/rakyll/hey v0.1.4
go: downloading golang.org/x/net v0.0.0-20181017193950-04a2e542c03f
go: downloading golang.org/x/text v0.3.0
kazunori@mba-2 chapter-1 % 
kazunori@mba-2 chapter-1 % ls /Users/kazunori/go/bin              
gopls           hey             staticcheck
  • コマンドを実行すると、そのツールのダウンロードとコンパイルを行い$GOPATH/binの下にインストールする

Part1 以上

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?