Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menukar Badan Respons HTTP kepada Rentetan dalam Go?

Bagaimana untuk Menukar Badan Respons HTTP kepada Rentetan dalam Go?

Linda Hamilton
Linda Hamiltonasal
2024-12-02 16:34:16685semak imbas

How to Convert an HTTP Response Body to a String in Go?

Mengakses Respons HTTP sebagai Rentetan dalam Go

Apabila cuba menghuraikan respons permintaan web sebagai rentetan dalam Go, anda boleh menghadapi kesukaran kerana tindak balas disimpan sebagai kepingan bait. Untuk menyelesaikan isu ini dan mengakses respons sebagai rentetan, ikut langkah di bawah:

1. Baca Badan Respons 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. Tukar Slice Byte kepada Rentetan:

Untuk menukar kepingan bait kepada rentetan, anda boleh menggunakan penukaran jenis:

bodyString := string(bodyBytes)

3. Gunakan Rentetan:

Setelah anda menukar kepingan bait kepada rentetan, anda boleh memanipulasinya sebagai rentetan biasa dalam Go. Contohnya, anda boleh mencetaknya ke konsol atau melakukan operasi rentetan.

Contoh:

fmt.Println(bodyString)

Kod ini akan mengeluarkan badan respons sebagai rentetan.

Nota:

Adalah penting untuk ambil perhatian bahawa menukar kepingan bait kepada rentetan dalam Go melibatkan memperuntukkan memori pada timbunan disebabkan oleh ketidakbolehubah rentetan. Oleh itu, adalah disyorkan untuk melakukan operasi pada kepingan bait sebanyak mungkin sebelum menukarnya kepada rentetan untuk kecekapan ingatan.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Badan Respons HTTP kepada Rentetan dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn