ホームページ >バックエンド開発 >Golang >Golang コードで「型が文字列とバイトが一致しません」というエラーが発生するのはなぜですか?

Golang コードで「型が文字列とバイトが一致しません」というエラーが発生するのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-26 18:29:03621ブラウズ

Why am I getting a

Golang で「型が一致しない文字列とバイト」エラーが発生しました

提供されたコード スニペットでは、11 行目で文字列とバイトを連結しようとするとエラーが発生します。

new_str = new_str + str[i + 1]

このエラーは、変数 str[i 1] がバイト型 (単一の文字を表すバイト値) であるのに対し、変数 new_str は文字列である文字列型であるために発生します。 .

この問題を解決するには、バイトから文字列への明示的な変換が必要です。これは、バイト値を単一文字の文字列に変換する string() 関数を使用して実現できます。修正されたコードは次のようになります。

new_str = new_str + string(str[i + 1])

同様の問題が 24 行目で発生します。ここでは、式 f(g(str)) str[0] が文字列とバイトを連結しようとしています。同じ修正を適用して、バイト str[0] を文字列に変換します。

return f(g(str)) + string(str[0])

これらの変更により、コードはエラーなしで実行されます。 Go では、さまざまな型のデータを操作するときに明示的な型変換が必要であることに注意することが重要です。

以上がGolang コードで「型が文字列とバイトが一致しません」というエラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。