公共https://mp.weixin.qq.com/s/9G3KQwXqQf56b8IQ7Tyysw番号[ネットワーク]中国語での移動中に、このような顔の質問を表示するには
例1
オレンジ構造体{入力 数量INT } (*オレンジO)FUNC増加(N INT){ o.Quantity + = N } {(*オレンジO)FUNC減少(N INT) - = N o.Quantity } FUNCを(*オレンジO )文字列()文字列{ 戻りfmt.Sprintf( "AAAA%位のV"、o.Quantity) } メインFUNC(){ オレンジ:=&オレンジ{} orange.Increase(10) orange.Decrease(5) fmt.Println(オレンジ) }
この方法は、第一のポインタ値と方法との違いを説明しました。
メソッドポインタは:そのような構築参照ポインタ方法のこの形式の方法として、参照型*オレンジポインタ型から、例えば上記の方法を増やし
値:メソッドの型がFUNC(Oオレンジ)減少(N INT){}値のこの形式の方法として、基準の正常タイプであります
メソッドは値方式であれば
例2
オレンジ構造体{入力 数量INT } (オレンジO)FUNC増加(N INT){ o.Quantity + = N } {(オレンジO)FUNC減少(N INT) - = N o.Quantity } ((オレンジO)FUNC文字列)文字列{ 戻りfmt.Sprintf( "AAAA%位のV"、o.Quantity) } メインFUNC(){ VARオレンジオレンジ orange.Increase(10) orange.Decrease(5) fmt.Println(オレンジ) }
この方法は、出力5列内で実行されます
メソッドは、メソッドのポインタである場合
例3
オレンジ構造体{入力 数量INT } (*オレンジO)FUNC増加(N INT){ o.Quantity + = N } {(*オレンジO)FUNC減少(N INT) - = N o.Quantity } FUNCを(*オレンジO )文字列()文字列{ 戻りfmt.Sprintf( "AAAA%位のV"、o.Quantity) } メインFUNC(){ VARオレンジオレンジ orange.Increase(10) orange.Decrease(5) fmt.Println(オレンジ) }
この場合には、文字列のメソッドを実行しません
これは文字列のメソッドを実行するかどうか、あなたは私がこの質問を見たとき、それは文字列のメソッドが呼び出されていない理由を不思議に開始する、文字列のメソッドを実行する理由を考える必要があり、ネイティブの文字列を行くために、突然の考える、文字列のメソッドをされて呼び出します。あなたは、このメソッドのデフォルトの実装を呼び出すときに文字列の方法、行くをカバーするのStringメソッドを記述する際に一つの方法、それはデフォルトの実行方法になります。構造体の型の型文字列型、およびオレンジの参照ポインタは、デフォルトで実行されることはありません、ときオレンジオレンジのように定義されているので、例3は、文字列のメソッドを実行する理由のスタートは言わないだろうしましょう、問題を理解する:=&オレンジ、オレンジ色のポインタ型、アドレスのそのタイプ。