エラー メッセージ (型の文字列とバイトの不一致) は、次のことを示しています。特定の操作で予期される型と提供された型の間の差異。 Golang では、文字列をバイトと連結しようとするとエラーが発生します。これは、主に関係するさまざまなデータ型が原因です。
提供されたコードを分析すると、問題のある行を特定できます。
<code class="go">new_str = new_str + str[i + 1]</code>
and
<code class="go">return f(g(str)) + str[0]</code>
この問題は、str[i 1] と str[0] がバイトであるのに対し、new_str と f(g(str)) は文字列であるために発生します。 Golang の厳密な型指定では、異なるデータ型を扱う場合、明示的な変換が必要です。
この不一致を解決するには、連結する前に str 配列のバイト (単一文字) を文字列に変換する必要があります。これは、次のように文字列変換関数を使用して実現できます。
<code class="go">new_str = new_str + string(str[i + 1])</code>
<code class="go">return f(g(str)) + string(str[0])</code>
これらの変換を組み込むことで、型が一致し、操作が有効であることが保証されます。
例を示します。修正されたコードのデモ:
<code class="go">package main import "fmt" func g(str string) string { var i = 0 var new_str = "" for i < len(str)-1 { new_str = new_str + string(str[i+1]) i = i + 1 } return new_str } func main() { fmt.Println(g("fruits")) }</code>
連結ポイントでバイトを文字列に変換することで、(文字列とバイトの型が一致しない) エラーを排除し、有効な操作を保証します。
以上がGolang で「型が文字列とバイトが一致しません」エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。