Go で文字列として HTTP 応答にアクセスする
Go で Web リクエストの応答を文字列として解析しようとすると、応答がバイトのスライスとして保存されるため、問題が発生します。この問題を解決し、文字列として応答にアクセスするには、以下の手順に従います。
1. HTTP 応答本文を読み取ります:
func main() { resp, err := http.Get("http://google.hu/") if err != nil { // handle error } defer resp.Body.Close() bodyBytes, err := io.ReadAll(resp.Body) if err != nil { // handle error } }
2.バイト スライスを文字列に変換します:
バイトのスライスを文字列に変換するには、型変換を使用できます:
bodyString := string(bodyBytes)
3。文字列を利用する:
バイト スライスを文字列に変換したら、Go で通常の文字列として操作できます。たとえば、コンソールに出力したり、文字列操作を実行したりできます。
例:
fmt.Println(bodyString)
このコードは、応答本文を文字列として出力します。
注:
変換は次の点に注意することが重要です。 Go での文字列へのバイト スライスには、文字列の不変性のため、ヒープ上にメモリを割り当てる必要があります。したがって、メモリ効率を高めるために、バイト スライスを文字列に変換する前に、できる限りバイト スライスに対して操作を実行することをお勧めします。
以上がGo で HTTP レスポンスボディを文字列に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。