Rune ile Byte¶
runeaslındaint32’nin takma adı (alias’ı).byteaslındauint8’in takma adı.
| Tip | Değer |
|---|---|
int32 |
-2147483648 ile 2147483647 arasında değer taşır. |
uint8 |
0 ile 255 arasında değer taşır. |
uğur 4 harfli bir isim. ğ ise aslında 8 bit için 2 byte’lık bir değer.
Halbuki rune ile 32 bit’lik değer taşıyabildiğimiz için yani içinde 32 bit’lik
değerler tutan bir slice olduğu için, rune olarak 4 karakter olan isim,
byte olarak 5 karakter olur :)
package main
import "fmt"
func main() {
s := "uğur" // ğ önemli
fmt.Printf("%10T %[1]v\n", s)
fmt.Printf("%10T %[1]v\n", []rune(s))
fmt.Printf("%10T %[1]v\n", []byte(s))
}
// string uğur
// []int32 [117 287 117 114] // 4 karakter
// []uint8 [117 196 159 117 114] // 5 karakter