Bagaimanakah Operasi Bitmasking dan Bitwise dalam Golang Membantu Anda Mengurus Kebenaran Pengguna dengan Cekap?

Mary-Kate Olsen
Lepaskan: 2024-10-26 08:45:03
asal
596 orang telah melayarinya

 How can Bitmasking and Bitwise Operations in Golang Help You Efficiently Manage User Permissions?

Bitmasking dan Operasi Bitwise di Golang

Bitmasking dan operasi bitwise ialah teknik penting untuk bekerja dengan data binari dan cekap melaksanakan operasi khusus dalam pengaturcaraan.

Pertimbangkan kod berikut:

<code class="go">package main

import (
    "fmt"
)

const (
    isAdmin = 1 << iota
    isHeadquarters
    canSeeFinancials
    
    canSeeAfrica
    canSeeAsia
    canSeeEurope
    canSeeNorthAmerica
    canSeeSouthAmerica
)

func main() {
    var roles byte = isAdmin | canSeeFinancials | canSeeEurope
    fmt.Printf ("%b\n", roles)
    fmt.Printf ("Is Admin? %v\n", isAdmin & roles == isAdmin)
}</code>
Salin selepas log masuk

Dalam kod ini, anda mentakrifkan beberapa bitmask malar menggunakan operator peralihan bit (<<), di mana setiap bit mewakili peranan atau kebenaran tertentu.

Bitmasking

Peranan pembolehubah diberikan hasil daripada operasi ATAU bitwise antara bitmasks isAdmin, canSeeFinancials dan canSeeEurope. Ini menghasilkan nilai perduaan di mana bit yang mewakili peranan yang dipilih ditetapkan kepada 1, membolehkan anda menyemak dengan cepat sama ada pengguna mempunyai berbilang peranan.

Bitwise AND dan Masking

Ungkapan ialah Admin & roles melakukan operasi AND bitwise antara bitmask isAdmin dan pembolehubah peranan. Nilai binari yang terhasil dibandingkan dengan bitmask isAdmin menggunakan operator kesamarataan (==). Jika bit isAdmin ditetapkan dalam pembolehubah peranan (menunjukkan pengguna mempunyai keistimewaan pentadbir), hasilnya dinilai kepada benar.

Perbandingan lwn. Masking

Apabila anda membandingkan peranan terus kepada isAdmin menggunakan peranan == isAdmin, anda sedang menyemak sama ada keseluruhan nilai binari peranan adalah sama dengan isAdmin. Ini hanya akan benar jika peranan hanya mengandungi peranan isAdmin dan tiada peranan lain.

Dalam contoh yang diberikan, apabila peranan merangkumi berbilang peranan, membandingkan peranan == isAdmin menilai kepada palsu kerana perwakilan binari peranan mengandungi tambahan bit.

Dengan menggunakan operasi bitmasking dan bitwise, anda boleh menyemak dengan cekap dan padat untuk peranan atau kebenaran tertentu dalam satu pembolehubah, menjadikan kod anda lebih ringkas dan berkesan.

Atas ialah kandungan terperinci Bagaimanakah Operasi Bitmasking dan Bitwise dalam Golang Membantu Anda Mengurus Kebenaran Pengguna dengan Cekap?. 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
Artikel terbaru oleh pengarang
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!