Menemui Nilai Maksimum Integer Tidak Ditandatangani dalam Go
Apabila bekerja dengan integer tidak ditandatangani dalam Go, selalunya perlu untuk menentukan kebolehwakilan maksimum mereka nilai. Nilai ini berbeza-beza bergantung pada panjang bit jenis, seperti uint8, uint16 atau uint64.
Inisialisasi minLen untuk Pengiraan Perbandingan
Dalam gelung yang disediakan, pembolehubah minLen mesti dimulakan supaya ia lebih besar daripada sebarang nilai potensi benda.n yang ditemui semasa lelaran. Ini membolehkan gelung mencari dengan betul panjang minimum dan maksimum daripada sliceOfThings.
Spesifikasi Nilai Maksimum
Menurut dokumentasi dan perbincangan forum, nilai maksimum untuk jenis integer tidak bertanda boleh ditentukan menggunakan operasi bitwise seperti berikut:
const MaxUint = ^uint(0)
Untuk contoh, untuk jenis uint32, MaxUint akan bersamaan dengan 4294967295.
Inisialisasi minLen
Menggunakan pemalar MaxUint, kita boleh memulakan minLen dengan sewajarnya:
var minLen uint = ^uint(0)
Ini memastikan perbandingan pertama minLen > thing.n akan sentiasa menilai kepada benar sebelum sebarang lelaran, membenarkan gelung bermula dengan nilai maksimum sebagai andaian awal untuk panjang minimum.
Atas ialah kandungan terperinci Apakah Nilai Maksimum Integer Tidak Ditandatangani dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!