go言語の構造体とは他のプログラミング言語のクラスに相当する機能です。
【結論】
type 構造体名 struct {} で定義し、フィールド名と型名をすると動かせます。
【理由】
構造体があると良い理由は複数の値をひとまとめに出来るからです。
わざわざ一つ一つ定義したらコードが長くなり訳わからなくなるからそれをひとまとめにしたものです。
書き方は
struct {
変数宣言する
}
structの後に中に保管したい変数を変数宣言をします。
var 変数 struct{}
このように宣言すると構造体の中にある変数に値を設定できます。
【具体例】
①
package main
import "fmt"
type Rectangle struct {
width ,height int
}
func main() {
r := Rectangle{width:20, height: 30}
fmt.Println(r)
}
{20 30}
②
package main
import "fmt"
type Rectangle struct {
width, height int
}
func (r Rectangle) Area() int {
return r.width * r.height
}
func main() {
r := Rectangle{width: 20, height: 30}
area := r.Area()
fmt.Println(area)
}
600
【解説】
①はRectangle変数にwidth ,heightの変数を保管します。
それを関数内でRectangle{width:20, height: 30}それぞれに値を入れて{20 30}となります。
②はr := Rectangle{width: 20, height: 30}で
{20 30}となりRectangle変数に入れます。
area := r.Area()で変数areaを変数Area()に代入して、関数内でreturn r.width * r.heightによりr.width r.heightをかけて戻り値となり600となります。
取材やお仕事紹介などはこちらからお気軽にご連絡下さい。
ysa7825@gmail.com