Bagaimana untuk menentukan sama ada ia adalah nombor dalam golang

PHPz
Lepaskan: 2023-04-25 10:21:13
asal
3662 orang telah melayarinya

Apabila membangun menggunakan Golang, selalunya perlu untuk menentukan jenis data. Antaranya, menentukan sama ada data adalah berangka juga merupakan keperluan biasa. Artikel ini akan memperkenalkan cara untuk menentukan sama ada data ialah nombor di Golang.

Kaedah 1: Gunakan pakej strconv

Pakej strconv ialah pakej dalam Golang yang digunakan untuk menukar rentetan kepada jenis asas Anda boleh menggunakannya untuk menentukan sama ada rentetan ialah nombor. Operasi khusus adalah seperti berikut:

import "strconv"

func IsNumber(str string) bool {
    _, err := strconv.Atoi(str)
    return err == nil
}
Salin selepas log masuk

Dalam fungsi ini, fungsi Atoi akan cuba menukar rentetan kepada jenis integer Jika ralat berlaku, objek ralat akan dikembalikan perlu menyemak sama ada ia adalah sifar. Mengembalikan benar jika ia adalah nombor, palsu sebaliknya.

Perlu diambil perhatian bahawa fungsi ini hanya boleh menilai integer Jika anda perlu menilai nombor titik terapung, anda perlu menggunakan fungsi ParseFloat.

Kaedah 2: Gunakan ungkapan biasa

Ungkapan biasa ialah kaedah memadankan rentetan daripada teks dan juga boleh digunakan untuk menentukan sama ada rentetan ialah nombor. Golang mempunyai sokongan ungkapan biasa terbina dalam, yang boleh dilaksanakan menggunakan fungsi dalam pakej regexp. Pelaksanaan khusus adalah seperti berikut:

import "regexp"

func IsNumber(str string) bool {
    pattern := "^[0-9]+$"
    match, err := regexp.MatchString(pattern, str)
    if err != nil {
        return false
    }
    return match
}
Salin selepas log masuk

Dalam fungsi ini, kami menggunakan ungkapan biasa ^[0-9]+$ untuk memadankan rentetan angka tulen. MatchString Fungsi mengembalikan nilai Boolean dan objek ralat, mengembalikan benar jika padanan berjaya, sebaliknya palsu. Perlu diingatkan bahawa jika terdapat masalah dengan ungkapan biasa itu sendiri, ralat akan dikembalikan.

Kaedah 3: Gunakan Unicode

Di Golang, setiap aksara mempunyai titik kod Unicode yang sepadan, dengan julat titik kod aksara angka ialah U+0030 hingga U+0039. Jadi, kita boleh mengetahui sama ada ia adalah nombor dengan menggelung melalui rentetan dan melihat titik kod Unicode bagi setiap aksara. Pelaksanaannya adalah seperti berikut:

func IsNumber(str string) bool {
    for _, char := range str {
        if char < &#39;0&#39; || char > '9' {
            return false
        }
    }
    return true
}
Salin selepas log masuk

Dalam fungsi ini, kami mengulangi setiap aksara dalam rentetan dan menyemak sama ada titik kod Unicodenya berada dalam julat aksara angka. Mengembalikan palsu jika mana-mana aksara bukan digit;

Ringkasnya, tiga kaedah di atas boleh digunakan untuk menentukan sama ada rentetan ialah nombor. Kaedah 1 dan 3 adalah lebih mudah, lebih pantas dan mempunyai kebolehgunaan yang lebih luas.

Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada ia adalah nombor dalam 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!