Rune ile Byte¶
rune
aslındaint32
’nin takma adı (alias’ı).byte
aslı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