golang err 转string

WBOY
WBOYasal
2023-05-10 10:03:06874semak imbas

Ralat pengendalian dalam bahasa Go agak berbeza daripada bahasa lain Jenis error biasanya digunakan untuk mewakili hasil fungsi Jika fungsi gagal dilaksanakan, nilai ralat dikembalikan. Dalam bahasa Go, tiada mekanisme pengecualian, dan semua ralat mesti dikembalikan dan dikendalikan. Apabila mengendalikan ralat, selalunya perlu untuk menukar maklumat ralat kepada output rentetan atau menulis log. Terdapat dua cara untuk

menukar jenis error kepada rentetan, iaitu menggunakan kaedah error antara muka Error() dan menggunakan fungsi fmt pakej Sprintf().

Gunakan kaedah Ralat() antara muka ralat

error Antara muka ialah spesifikasi yang mengandungi satu kaedah Error() string Jenis yang melaksanakan antara muka ini mewakili keadaan ralat. Kita boleh menggunakan kaedah ini untuk mendapatkan perwakilan rentetan ralat.

Kod sampel:

package main

import (
    "errors"
    "fmt"
)

func main() {
    err := errors.New("发生了一个错误")
    fmt.Println(err.Error())
}

Output program:

发生了一个错误

Ini menukarkan jenis error kepada jenis rentetan.

Gunakan fungsi fmt.Sprintf()

Selain menggunakan kaedah error antara muka Error() untuk menukar ralat, kita juga boleh menggunakan fungsi fmt dalam Sprintf() pakej ke ralat format Tukar kepada output rentetan.

Kod sampel:

package main

import (
    "errors"
    "fmt"
)

func main() {
    err := errors.New("发生了一个错误")
    fmt.Println(fmt.Sprintf("%v", err))
}

Output program:

发生了一个错误

Seperti yang anda lihat, menggunakan fungsi fmt.Sprintf() untuk mengeluarkan ralat dan menggunakan antara muka error Error() ralat keluaran kaedah Kandungan adalah sama.

Tulis ralat untuk log

Selain mengeluarkan maklumat ralat, kami juga boleh menulis ralat untuk log fail, yang memudahkan penyelesaian masalah kemudian.

Kod sampel:

package main

import (
    "errors"
    "log"
)

func main() {
    err := errors.New("发生了一个错误")
    log.Println("错误信息:", err)
}

Keluaran program:

2021/08/12 20:06:19 错误信息: 发生了一个错误

Seperti yang anda lihat, gunakan fungsi log pakej Println() untuk menulis maklumat ralat pada log fail.

Ringkasan

Dalam bahasa Go, terdapat dua cara untuk menukar jenis error kepada rentetan, iaitu menggunakan kaedah error antara muka Error() dan menggunakan fmt pakej Fungsi Sprintf(). Pada masa yang sama, kami juga boleh menulis maklumat ralat pada fail log untuk memudahkan penyelesaian masalah.

Atas ialah kandungan terperinci golang err 转string. 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
Artikel sebelumnya:penukaran jenis tarikh golangArtikel seterusnya:penukaran jenis tarikh golang