Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah anda boleh menulis pada permulaan bait. Penampan dalam Golang?

Bagaimanakah anda boleh menulis pada permulaan bait. Penampan dalam Golang?

Susan Sarandon
Susan Sarandonasal
2024-10-29 11:32:02947semak imbas

How can you write to the beginning of a bytes.Buffer in Golang?

Menulis Ganti Permulaan Penampan dalam Golang

Di Golang, jenis bait.Penimbal boleh digunakan untuk menulis dan membaca data dalam penampan. Secara lalai, penambahan pada penimbal dicapai menggunakan kaedah WriteString. Walau bagaimanapun, mungkin terdapat senario di mana menulis pada permulaan penimbal diingini.

Bolehkah kita menulis pada permulaan penimbal?

Secara lalai, WriteString kaedah menambahkan rentetan yang disediakan pada penghujung penimbal. Pelaksanaan asas bait.Penimbal tidak dieksport, menjadikannya sukar untuk mengakses hirisan dasar penimbal secara terus dan mengubah suainya.

Penyelesaian:

Untuk menulis ke permulaan daripada penimbal, anda boleh menggunakan penyelesaian berikut:

  1. Tambah rentetan yang dikehendaki pada penghujung penimbal.
  2. Dapatkan semula keseluruhan rentetan daripada penimbal menggunakan kaedah Rentetan.
  3. Tetapkan semula penimbal untuk mengosongkan kandungannya.
  4. Tulis rentetan bercantum (rentetan baharu diikuti rentetan lama) ke penimbal tetapan semula.

Contoh :

<code class="go">package main

import (
    "bytes"
    "fmt"
)

func main() {
    var buffer bytes.Buffer
    buffer.WriteString("B")
    s := buffer.String()
    buffer.Reset()
    buffer.WriteString("A")
    buffer.WriteString(s)
    fmt.Println(buffer.String())
}</code>

Output:

AB

Dengan menggabungkan dan menulis semula rentetan, kod secara berkesan menimpa kandungan penimbal, meletakkan yang dikehendaki rentetan pada permulaan.

Atas ialah kandungan terperinci Bagaimanakah anda boleh menulis pada permulaan bait. Penampan dalam Golang?. 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