Go 言語は厳密に型指定された言語であり、コードを記述する際には型の規則に厳密に従う必要があります。コードを書いているときに、「フィールドでは x (y 型) を z 型として使用できません...」というエラー メッセージが表示されることがあります。このエラーは通常、構造体の宣言時に間違ったデータ型を使用することが原因で発生します。この記事では、このエラーの解決策について説明し、説明します。
Go 言語でプログラミングする場合、以下に示すように、構造体のデータ型を宣言する必要があることがよくあります。
type User struct { Name string Age int Gender bool }
ここでは名前付きユーザーが定義されています。名前、年齢、性別の 3 つの属性が含まれます。このうち、Nameはstring型、Ageはint型、Genderはbool型です。コードの後半で間違ったデータ型を使用すると、エラーが発生します。たとえば、以下に示すように、Name の文字列型の代わりに int 型の変数を使用すると、コンパイラはエラー メッセージ「フィールドの文字列型として age (int 型) を使用できません」を表示します。価値" 。
これは、Go 言語であっても他の言語であっても、データ型の規則に厳密に従う必要があるためです。ここで、age は int 型の変数、Name は string 型のプロパティであり、2 つの型は一致しません。
解決策
上記の例のエラーについては、次のように修正する必要があります:
age := 18 user := User{ Name: age, // 错误的赋值,此处的类型为int Age: age, Gender: true, }
これで、User 構造体の正しい割り当てが完了しました。同時に、明示的なデータ型変換を使用して、あるデータ型を別のデータ型に変換することもできます。たとえば、以下に示すように、int 型の変数を string 型に変換します。
name := "Tom" age := 18 user := User{ Name: name, Age: age, Gender: true, }
実際のプログラミング プロセスでは、strconv.Itoa( など、Go 言語が提供するさまざまな型変換関数を使用することもできます。 ) データ型の変換作業が完了するまで待ちます。
概要
以上がgolang で「フィールドで x (y 型) を z 型として使用できません…」エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。