go mod init
- go mod init は、新しいGoモジュールを初期化するためのコマンドで、このコマンドを実行すると、モジュール名をパラメータとして受け取り、その名前で新しいモジュールを作成する。
go mod init booking-app
- Goプログラミング言語のコマンドの一部で、これを使用すると、Goプログラムをビルドして実行できる。
go run <file-name.go>
Vimを使って.zshenvファイルを編集する手順
vim .zshenv
※Press i to enter insert mode.
※Press Enter to add a new blank line.
※Press Esc to return to normal mode.
※Type :wq to save and exit.
基本文法
(1)pacakgeについて
- goのコードは、全て何らかのパッケージに属する
sample.go
package main
import "fmt"
func main(){
fmt.Println("Hello World")
}
(2)変数について
sample.go
package main
import (
"fmt"
)
func main(){
//① var 変数名 型
var i int
i = 10
fmt.Println("変数", i)
//② var 変数名 = 型
var j = 10
fmt.Println("変数", j)
//③ 変数名 := 値
k := 10
fmt.Println("変数", k)
//④ 変数名1, 変数名2 := 値1, 値2
}
(3)ループ処理 ※ goの場合、forしかない
① for
sample.go
package main
import (
"fmt"
)
func main (){
sum := 0
for i := 0; i < 10; i++ {
sum += i
}
fmt.Println(sum)
}
② whieみたいな書き方
sample.go
package main
import (
"fmt"
)
func loop (){
//② whieみたいな書き方
sum := 1
for sum < 10 {
sum += sum
}
fmt.Println(sum)
}
③ 配列の宣言方法
- []型{要素1,要素2,...}
sample.go
package main
import (
"fmt"
)
func loop (){
//③ 配列の宣言方法
arr := []string{"hoge","hoge","hoge"}
for _, num := range arr {
fmt.Println(num)
}
}
(4)条件分岐
sample.go
package main
import "fmt"
func isEven(num int) {
if num % 2 == 0 {
fmt.Printf("%d is even \n", num)
}
}
func branch (){
arr := []int{2,3,5}
for _, num := range arr {
isEven(num)
}
}
(5)構造体 + メソッド
- 構造体名{プロパティ1: 値, プロパティ2: 値 }
sample.go
package main
import "fmt"
type Rectangle struct {
width, height int
}
func (r Rectangle) Area() int {
return r.width * r.height
}
func structure (){
r := Rectangle{width:20, height:30}
area := r.Area()
fmt.Println(area)
}
(6)ポインター
- pがポインター変数 ポインター変数にはアドレスを格納する
①ポインター
sample.go
package main
import "fmt"
func pointer() {
i := 10
p := &i
*p = 11
fmt.Println(*p)
}
②var ポインタ変数 *型
sample.go
package main
import "fmt"
func pointer() {
//②var ポインタ変数 *型
var p *int
i := 10
p = &i
*p = 11
fmt.Println(*p)
}
参考サイト
【Go言語マスター#2】現役エンジニアがGo言語を解説! 〜Goのプログラムを実行〜
ちゃんと理解するGo言語開発環境構築:go mod initとその必要性
【Go 言語入門】基本文法からポインタ・構造体など丁寧に解説!