W kolorowym opakowaniu golang, istnieje metoda, aby uzyskać R, G, B, A wartości z RGBA
obiektu:Dlaczego metoda golang RGBA.RGBA() używa | i <<?
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
}
Gdybym miał realizować tę prostą funkcję, chciałbym tylko napisać tę
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
}
Jaki jest powód użycia r |= r << 8
?