Runes
Go Dilinde Rune İfadeleri
GO programlama dilinde karakterler, Unicode karşılıkları ile rune ifadesi olarak saklanır. Biz bir karakteri GO dilinde yazdığımızda hafıza karşılığı Unicode değer olacak şekilde GO dilinde saklanır.
Bir örnekle izah etmek gerekirse:
package main
import (
"fmt"
"reflect"
)
func main() {
// yeni rune ifadeleri olusturma
rune1 := 'B'
rune2 := 'g'
rune3 := '\a'
rune4 := 'ف'
rune5 := 'Й'
// rune ifadelerini tip degerlerine gorse yazdirma
fmt.Printf("Rune 1: %c; Unicode: %U; Type: %s", rune1,
rune1, reflect.TypeOf(rune1))
fmt.Printf("\nRune 2: %c; Unicode: %U; Type: %s", rune2,
rune2, reflect.TypeOf(rune2))
fmt.Printf("\nRune 3:%c; Unicode: %U; Type: %s", rune3, rune3,
reflect.TypeOf(rune3))
fmt.Printf("\nRune 4: %c; Unicode: %U; Type: %s", rune4, rune4,
reflect.TypeOf(rune4))
fmt.Printf("\nRune 5:%c; Unicode: %U; Type: %s", rune5, rune5,
reflect.TypeOf(rune5))
}
Yukarıdaki kod blogu su ciktiyi verecektir:
Rune 1: B; Unicode: U+0042; Type: int32
Rune 2: g; Unicode: U+0067; Type: int32
Rune 3: ; Unicode: U+0007; Type: int32
Rune 4: ف; Unicode: U+0641; Type: int32
Rune 5: Й; Unicode: U+0419; Type: int32%
Öncelikle ekrana yazdırma sırasında neler olduğunu açıklayalım. Hatırladığınız üzere fmt isimli kütüphane yazdırma işlemleri ve metinsel işlem operasyonları için kullanılıyordu. Burada fmt.Printf ile formatlanmış olarak ekran yazdırması yaptık. Yani ekrana yönlendirilecek ifadeleri %c , %U , %s gibi notasyonlara göre biçimlendirerek yazdırdık. Bu ifadelerden ilki olan %c ekrana karakter bastırmaya yarar. İkinci ifademiz olan %U ise ekrana Unicode değer karşılığını yazdırır. Son ifademiz olan %s ise string ifade yazdırır. Burada rune olan ifademizin sayısal değerini binary den reflect.TypeOf() ifadesi ile çevrim yaparak ekrana bastırdık.
fmt.Printf("\nRune 5:%c; Unicode: %U; Type: %s", rune5, rune5,
reflect.TypeOf(rune5))
Daha Fazla Bilgi için :