4.1。構造
構造:1、または新しいタイプの形成との組み合わせでより多くの変数、これは構造の一種で、構造が値型であります
構造と割り当ての定義
//Learn_Go/main.go メインパッケージ "FMT"インポートを 入力した人構造体{ 名文字列 年齢INT } メイン(){FUNC 人PEO VAR fmt.Println(PEO)// {0} fmt.Printf( "%のP"、 &PEO)// 0x110040f0 //赋值 //第一种 PEO =人物{ "デレク"、20} fmt.Println(PEO)// {デレク20} //第二种 PEO 2:= {人年齢:12、名前"ジャック"} fmt.Println(PEO 2)// {ジャック12} //第三种 peo.Name = "アリス" peo.Age = 25 fmt.Println(PEO)// {アリス25} }
4.2。構造体ポインタ
構造は、転送所望のアドレス構造の転送方法は、構造体のポインタを完了するために使用することができる値の種類は、あるので
新しい()機能と組み合わせることができる構造体のポインタを作成し、
//Learn_Go/main.go メインパッケージ "FMT"インポート 人のstruct {入力する 名前の文字列の 年齢はint } メイン(){funcを 新しい(人々 )=を:PEOを fmt.Println(PEO)//&{0} fmt.Println( PEO == NIL)//偽 peo.Name = "デレク" peo.Age = 22 fmt.Println(PEO)//&{デレク22} PEO 2:= PEO fmt.Println(PEO 2)//&{デレク22} peo2.Name = "ジャック" fmt.Println(PEO、PEO 2)//&{ジャック22}&{ジャック22} }
4.3。メソッド
より多くの構文のような方法や機能は、機能パッケージが機能パッケージを呼び出すことにより、属していることを除けば、この方法は、呼び出すことによって、構造、構造体変数に属しています
デフォルトでは、パッケージの下に、機能なので、この方法は、構造体に属することをコンパイラに指示しますラベル、する必要があります
(1)作成方法
//Learn_Go/main.go パッケージメイン インポート"FMT" タイプstruct {人物 名文字列 重量INT } FUNC(P人)RUN(){ fmt.Println(p.Name、 "実行されて、現在の重量である:"、P .Weight) } FUNCメイン(){ PEO:人物{= "デレク"、120} peo.run()//デレクが実行され、現在の体重:120 }
(2)ポインタの値を変更
//Learn_Go/main.go メイン用パッケージ変更 インポート「FMT」 型構造体{人の 名文字列 重量INT } FUNC(P- *人)RUN(){ fmt.Println(p.Name、「次のように、現在の体重を実行しています:」 p.Weight) //重量を差し引く、runメソッドを実行する1。 p.Weight - = 1。 } FUNCメイン(){ PEO:人物{= "デレク"、120} peo.run()//デレクが実行されて、電流を体重:120 fmt.Println( "仕上げステップの重量:"、peo.Weight)計量工程後//仕上げ:119 }
送信元アドレス:https://www.cnblogs.com/derek1184405959/
4.1。構造
構造:1、または新しいタイプの形成との組み合わせでより多くの変数、これは構造の一種で、構造が値型であります
構造と割り当ての定義
//Learn_Go/main.go メインパッケージ "FMT"インポートを 入力した人構造体{ 名文字列 年齢INT } メイン(){FUNC 人PEO VAR fmt.Println(PEO)// {0} fmt.Printf( "%のP"、 &PEO)// 0x110040f0 //赋值 //第一种 PEO =人物{ "デレク"、20} fmt.Println(PEO)// {デレク20} //第二种 PEO 2:= {人年齢:12、名前"ジャック"} fmt.Println(PEO 2)// {ジャック12} //第三种 peo.Name = "アリス" peo.Age = 25 fmt.Println(PEO)// {アリス25} }
4.2。構造体ポインタ
構造は、転送所望のアドレス構造の転送方法は、構造体のポインタを完了するために使用することができる値の種類は、あるので
新しい()機能と組み合わせることができる構造体のポインタを作成し、
//Learn_Go/main.go メインパッケージ "FMT"インポート 人のstruct {入力する 名前の文字列の 年齢はint } メイン(){funcを 新しい(人々 )=を:PEOを fmt.Println(PEO)//&{0} fmt.Println( PEO == NIL)//偽 peo.Name = "デレク" peo.Age = 22 fmt.Println(PEO)//&{デレク22} PEO 2:= PEO fmt.Println(PEO 2)//&{デレク22} peo2.Name = "ジャック" fmt.Println(PEO、PEO 2)//&{ジャック22}&{ジャック22} }
4.3。メソッド
より多くの構文のような方法や機能は、機能パッケージが機能パッケージを呼び出すことにより、属していることを除けば、この方法は、呼び出すことによって、構造、構造体変数に属しています
デフォルトでは、パッケージの下に、機能なので、この方法は、構造体に属することをコンパイラに指示しますラベル、する必要があります
(1)作成方法
//Learn_Go/main.go パッケージメイン インポート"FMT" タイプstruct {人物 名文字列 重量INT } FUNC(P人)RUN(){ fmt.Println(p.Name、 "実行されて、現在の重量である:"、P .Weight) } FUNCメイン(){ PEO:人物{= "デレク"、120} peo.run()//デレクが実行され、現在の体重:120 }
(2)ポインタの値を変更
//Learn_Go/main.go メイン用パッケージ変更 インポート「FMT」 型構造体{人の 名文字列 重量INT } FUNC(P- *人)RUN(){ fmt.Println(p.Name、「次のように、現在の体重を実行しています:」 p.Weight) //重量を差し引く、runメソッドを実行する1。 p.Weight - = 1。 } FUNCメイン(){ PEO:人物{= "デレク"、120} peo.run()//デレクが実行されて、電流を体重:120 fmt.Println( "仕上げステップの重量:"、peo.Weight)計量工程後//仕上げ:119 }