Ketahui lebih lanjut tentang beberapa fungsi melarikan diri di Golang

PHPz
Lepaskan: 2023-04-12 19:08:29
asal
2717 orang telah melayarinya

Semasa proses pengaturcaraan, selalunya perlu melepaskan beberapa aksara khas untuk mencapai kesan yang diingini. Bagi pembangun Golang, melarikan diri dari tali juga merupakan salah satu kemahiran penting.

Golang menyediakan beberapa fungsi melarikan diri terbina dalam, seperti fmt.Printf() dan strconv.Quote(), dsb. Fungsi ini membolehkan kami melepaskan rentetan dengan mudah. Seterusnya, mari kita lihat dengan lebih dekat fungsi melarikan diri Golang. Fungsi

fmt.Printf()

fmt.Printf() ialah salah satu fungsi pelarian aksara yang paling biasa di Golang. Dengan menggunakan aksara melarikan diri, kita boleh mengeluarkan beberapa aksara khas dalam konsol. Sebagai contoh, kita boleh menggunakan n untuk mencetak aksara baris baharu dalam konsol untuk memutuskan baris.

package main

import "fmt"

func main() {
    fmt.Printf("Hello\nWorld")
}
Salin selepas log masuk

Kod contoh di atas akan mengeluarkan yang berikut:

Hello
World
Salin selepas log masuk

fmt.Printf() Terdapat juga beberapa aksara melarikan diri lain yang biasa digunakan, seperti t untuk tab, r Mewakili watak pemulangan kereta, dsb. Kami boleh melihat semua aksara melarikan diri dalam [Dokumentasi Rasmi](https://golang.org/pkg/fmt/).

strconv.Quote()

Satu lagi fungsi melarikan diri rentetan biasa ialah strconv.Quote(). Fungsi ini boleh melepaskan rentetan ke dalam rentetan yang disertakan dalam petikan berganda.

package main

import (
    "fmt"
    "strconv"
)

func main() {
    fmt.Println(strconv.Quote(`"Go is awesome!"`))
}
Salin selepas log masuk

Output kod di atas ialah:

"\"Go is awesome!\""
Salin selepas log masuk

Fungsi ini menukar rentetan "Go is awesome!" kepada ""Go is awesome!"", dengan petikan berganda terlepas.

strconv.QuoteToASCII()

Sama seperti fungsi sebelumnya, strconv.QuoteToASCII() juga boleh melepaskan rentetan ke dalam rentetan yang disertakan dalam petikan berganda. Perbezaannya ialah fungsi ini boleh menukar aksara bukan ASCII ke dalam urutan melarikan diri yang sepadan.

package main

import (
    "fmt"
    "strconv"
)

func main() {
    fmt.Println(strconv.QuoteToASCII("Golang是一个牛逼的编程语言!"))
}
Salin selepas log masuk

Output kod di atas ialah:

"Golang\u662f\u4e00\u4e2a\u725b\u903c\u7684\u7f16\u7a0b\u8bed\u8a00\uff01"
Salin selepas log masuk

Fungsi ini menukar rentetan Golang是一个牛逼的编程语言! kepada "Golangu662fu4e00u4e2au725bu903cu7684u7f16u7a0bu8bedu8a00uff01", di mana setiap aksara bukan ASCII ditukar kepada yang sepadan Urutan melarikan diri, sebagai contoh, aksara Cina ditukar kepada kod Unikod bermula dengan u.

strconv.QuoteToGraphic()

Serupa dengan fungsi strconv.QuoteToASCII(), strconv.QuoteToGraphic() juga boleh melepaskan rentetan ke dalam rentetan yang disertakan dalam petikan berganda. Perbezaannya ialah fungsi ini menukar aksara ASCII yang tidak boleh dicetak kepada urutan melarikan diri yang sepadan.

package main

import (
    "fmt"
    "strconv"
)

func main() {
    fmt.Println(strconv.QuoteToGraphic("这个字符串中有不可打印字符\x1f"))
}
Salin selepas log masuk

Hasil output kod di atas ialah:

"这个字符串中有不可打印字符\u001f"
Salin selepas log masuk

Watak tidak boleh cetak x1f dalam rentetan ditukar kepada u001f.

Ringkasan

Di Golang, fungsi melarikan diri sangat praktikal, ia boleh membantu kita menangani pelbagai jenis watak istimewa. Dalam artikel ini, kami melihat secara terperinci fungsi melarikan diri terbina dalam fmt.Printf(), strconv.Quote(), strconv.QuoteToASCII(), dan strconv.QuoteToGraphic(). Fungsi ini membolehkan kami mengendalikan rentetan dengan lebih mudah semasa proses pengaturcaraan dan meningkatkan kecekapan pengaturcaraan.

Atas ialah kandungan terperinci Ketahui lebih lanjut tentang beberapa fungsi melarikan diri di Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan