Goは構造体もクラスもひっくるめてstructで扱います。
package main
import (
fmt "fmt"
strconv "strconv"
)
type Moke struct {
Name string
Level int
}
// entry point
func main() {
moke := Moke{"moke", 1}
fmt.Printf(moke.Name)
}
type 名前 struct { }で構造体を定義します。あくまで構造体なので、{}の中に書くのはメンバー変数のみ。
メンバー変数は命名規則があり、先頭1文字が大文字か小文字かで挙動が変わります。
この構造体のオブジェクトを作る時は、名前{初期化のパラメータ}で行います。これも2パターンあります。
// 定義した順にセット
moke := Moke{"moke", 1}
// 名前指定でセット
moke2 := Moke{Name: "moke2", Level: 2}