Nel pacchetto colore golang, v'è un metodo per ottenere r, g, b, a valori da un RGBA
oggetto:Perché il metodo golang RGBA.RGBA() usa | e <<?
func (c RGBA) RGBA() (r, g, b, a uint32) {
r = uint32(c.R)
r |= r << 8
g = uint32(c.G)
g |= g << 8
b = uint32(c.B)
b |= b << 8
a = uint32(c.A)
a |= a << 8
return
}
Se dovessi implementare questa semplice funzione, che sarebbe solo scrivendo questo
func (c RGBA) RGBA() (r, g, b, a uint32) {
r = uint32(c.R)
g = uint32(c.G)
b = uint32(c.B)
a = uint32(c.A)
return
}
Qual è il motivo per cui viene utilizzato r |= r << 8
?