Golang'da Rünler Nelerdir? Golang'da Rune nasıl kullanılır? Cevabını makalemizde bulacaksınız.

Geçmişte sadece bir karakter setimiz vardı ve buna ASCII (American Standard Code for Information Interchange) adı veriliyordu. Daha sonra büyük ve küçük İngilizce harfleri, rakamları ve çeşitli noktalama işaretlerini ve aygıt kontrol karakterlerini içeren 128 karakteri temsil etmek için 7 bit kullanıyoruz. Bu karakter sınırlaması nedeniyle nüfusun büyük çoğunluğu kendilerine özel yazım sistemini kullanamadı. Bu sorunu çözmek için Unicode "doğdu". Unicode, ASCII'nin üst kümesi olup, günümüzde kullanılan tüm yazı sistemlerindeki karakterleri içerir. Aksanlar, diakritik işaretler, sekmeler ve satır sonları gibi kontrol kodları içerir ve her karaktere "Unicode Kod Noktası" veya Go'da "Rün" adı verilen standart bir sayı atar. Rune tipi int32 için bir takma addır.
Golang'daki Rünler hakkında hatırlanması gereken noktalar
- Unutmayın, bir dize bir Rün değil, bir bayt dizisidir. Bir dize, UTF-8 ile kodlanmış Unicode metni içerebilir. Ancak Go kaynak kodu UTF-8 ile kodlanmıştır, dolayısıyla dizeleri UTF-8 ile kodlamaya gerek yoktur.
- UTF-8, tüm Unicode'u 1 ila 4 bayt aralığında kodlar; burada 1 bayt ASCII için, geri kalanı ise Rünler için kullanılır.
- ASCII toplam 256 öğeden oluşur, bunların 128'i karakter, 0-127'si ise kod noktası olarak tanımlanır. Burada kod noktası, tek bir değeri temsil eden bir öğeyi ifade eder.
Örneğin:
♄
Bu, onaltılık değeri ♄ olan bir Rün'dür.
Rünlerin Gerçek Anlamı
Bir Rune sabitini temsil eder; burada bir tamsayı değeri bir Unicode kod noktasını tanımlar. Go dilinde, bir Rün Literali, 'g', '\t', vb. gibi parantez içinde yer alan bir veya daha fazla karakterle temsil edilir. Parantezler arasına, yeni satır ve kaçış işareti olmayan parantez dışında herhangi bir karakter koymanıza izin verilir. Burada, bu parantez içindeki karakterler, verilen karakterin Unicode değerini temsil eder ve ters eğik çizgi (çok karakterli dizenin başında) bulunan çok karakterli dizeler, değerleri farklı bir biçimde kodlar. Rune Literal'da ters eğik çizgiyle başlayan tüm dizeler geçersizdir, yalnızca aşağıdaki tek kaçış karakterleri ters eğik çizgiyle kullanıldığında özel değerleri temsil eder:
| Karakter |
Unicode |
Betimlemek |
| \A |
U+0007 |
Uyarı veya zil |
| \B |
U+0008 |
Geri tuşu |
| \F |
U+000C |
Form verileri |
| \N |
U+000A |
Satır besleme veya satır sonu |
| \R |
U+000D |
Satırın başına dön |
| \T |
U+0009 |
Yatay sekme |
| \v |
U+000b |
Dikey Sekme |
| \\ |
U+005c |
Ters eğik çizgi |
| \' |
U+0027 |
Kesme işareti |
| \” |
U+0022 |
Çift tırnak işaretleri (sadece karakter dizilerinde geçerlidir) |
Örneğin:
//Minh họa chương trình Go đơn giản về cách tạo một rune
package main
import (
"fmt"
"reflect"
)
func main() {
// Tạo một rune
rune1 := 'B'
rune2 := 'g'
rune3 := '\a'
// Hiện rune và kiểu của nó
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: Unicode: %U; Type: %s", rune3,
reflect.TypeOf(rune3))
}
Sonuç:
Rune 1: B; Unicode: U+0042; Type: int32
Rune 2: g; Unicode: U+0067; Type: int32
Rune 3: Unicode: U+0007; Type: int32
Örnek 2:
![Golang'da Rune nasıl kullanılır Golang'da Rune nasıl kullanılır]()
Sonuç:
Character: ♛, Unicode:U+265B, Position:0
Character: ♠, Unicode:U+2660, Position:1
Character: ♧, Unicode:U+2667, Position:2
Character: ♡, Unicode:U+2661, Position:3
Character: ♬, Unicode:U+266C, Position:4