Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar rentetan golang kepada uint

Bagaimana untuk menukar rentetan golang kepada uint

PHPz
PHPzasal
2023-04-24 09:10:012410semak imbas

Di Golang, rentetan ialah jenis data biasa. Walau bagaimanapun, dalam beberapa kes anda mungkin perlu menukar rentetan kepada integer tidak bertanda (uint). Jenis penukaran ini sangat biasa dalam pengaturcaraan komputer, terutamanya apabila anda perlu mengekstrak data daripada rentetan apabila bekerja dengan nombor. Jika anda sedang mencari cara untuk menukar rentetan kepada integer tidak bertanda di Golang, anda berada di tempat yang betul!

Di Golang, fungsi menukar rentetan kepada integer tidak bertanda (uint) adalah sangat mudah dan hanya memerlukan penggunaan beberapa kemahiran pengaturcaraan asas. Mula-mula anda perlu mencipta pembolehubah integer yang tidak ditandatangani kosong, kemudian menukar rentetan kepada integer yang tidak ditandatangani dan menetapkannya kepada pembolehubah. Berikut ialah contoh kod cara untuk melakukan ini:

str := "123"
var i uint64
i, err := strconv.ParseUint(str, 10, 64)
if err != nil {
    // handle error
}
fmt.Println(i)

Mari kita pecahkan blok kod ini satu persatu untuk lebih memahami cara ia berfungsi:

  • str := "123" - Tentukan pembolehubah rentetan str dan tetapkan nilai "123".
  • var i uint64 - mentakrifkan pembolehubah integer tidak bertanda kosong i.
  • i, err := strconv.ParseUint(str, 10, 64) - Gunakan fungsi strconv.ParseUint() untuk menukar rentetan str kepada integer tidak bertanda dan tetapkan kepada pembolehubah i. Fungsi ini mengambil tiga parameter dari kiri ke kanan: rentetan, asas dan bilangan digit. Dalam contoh ini, kami menggunakan perpuluhan, iaitu 10, dan menetapkan bilangan digit kepada 64.
  • if err != nil - Jika ralat berlaku semasa penukaran, ralat itu dikendalikan di sini.
  • fmt.Println(i) - Mengeluarkan nilai integer tidak bertanda i.

Dengan menggunakan kod di atas, anda kini boleh menukar rentetan kepada integer tidak bertanda. Walau bagaimanapun, anda mungkin tertanya-tanya apa yang berlaku jika rentetan input tidak boleh ditukar kepada integer tidak bertanda. Dalam kes ini, fungsi strconv.ParseUint() akan mengembalikan ralat, dalam hal ini anda harus mengambil langkah yang sesuai untuk mengendalikan ralat dan memberikan maklum balas yang sesuai kepada pengguna.

Dalam sesetengah kes, anda mungkin perlu menukar rentetan kepada integer bertanda (int). Dalam kes ini, ubah suai sedikit kod sampel di atas. Berikut ialah contoh kod yang menukar rentetan kepada integer bertanda:

str := "-123"
var i int64
i, err := strconv.ParseInt(str, 10, 64)
if err != nil {
    // handle error
}
fmt.Println(i)

Perhatikan bahawa fungsi yang kami gunakan ialah strconv.ParseInt(), bukan strconv.ParseUint(). Selain itu, kami mencipta pembolehubah integer yang ditandatangani i dan bukannya pembolehubah integer yang tidak ditandatangani i. Selebihnya kod pada asasnya sama seperti contoh sebelumnya.

Untuk meringkaskan, menukar aksara kepada integer ialah tugas biasa dan menukar rentetan kepada integer tidak bertanda (uint) atau integer bertandatangan (int) ialah salah satu subtugas biasa. Melakukan ini di Golang adalah sangat mudah, anda hanya perlu menggunakan fungsi yang berkaitan dalam pakej strconv. Ingat, jika rentetan tidak boleh ditukar kepada integer, anda harus mengendalikan ralat dalam kod anda dan memberikan maklum balas yang sesuai kepada pengguna.

Atas ialah kandungan terperinci Bagaimana untuk menukar rentetan golang kepada uint. 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