クラスではなく構造体

GOでは、クラスではなく構造体を使用します。

初期化のパターンは2パターン。

  • パターン1:単に順番に並べる
  • パターン1:明示的に名前を指定する

そして、構造体のメンバへのアクセスはドット.を使用します。
構造体がポインタでもドット.を使用します。(C言語ではアロー演算子->でしたが)

package main

import (
	"fmt"
)

// User ユーザー基本データ
type User struct {
	ID   int
	Name string
}

func main() {
	user1 := User{1, "Taro"}              // 初期化パターン1
	user2 := &User{ID: 2, Name: "Hanako"} // 初期化パターン2

	fmt.Println(user1)
	fmt.Println(user1.ID, user1.Name) // 構造体のメンバへのアクセス
	fmt.Println(user2)
	fmt.Println(user2.ID, user2.Name) // 構造体(ポインタ)のメンバへのアクセス
}


実行するとこんな感じです。

{1 Taro}
1 Taro
&{2 Hanako}
2 Hanako