GoLang’de Tarama İşlemleri: Detaylı Anlatım
Go programlama dilinde kullanıcıdan veri almak için kullanılan en yaygın yöntemlerden biri tarama (scanning) işlemleridir. Bu işlemler, fmt paketindeki Scan, Scanln ve Scanf fonksiyonları aracılığıyla gerçekleştirilir. Her fonksiyonun kendine özgü özellikleri ve kullanım alanları vardır. Bu makalede, bu fonksiyonları detaylı olarak inceleyecek ve çeşitli örneklerle kullanımını göstereceğiz.
fmt.Scan: Boşluklarla Ayrılmış Veri Girişi
fmt.Scan fonksiyonu, kullanıcıdan girdi alırken boşlukları ayırıcı olarak kullanır. Örneğin, kullanıcı “Merhaba Dünya” girdisini yaparsa, Merhaba ve Dünya ayrı ayrı değişkenlere atanacaktır. Bu fonksiyon, değişken sayısı kadar girdi bekler. Eğer kullanıcı yeterli sayıda girdi vermezse, hata verecektir. Ayrıca, girdi türleri ile değişken türlerinin uyumlu olması önemlidir. Uyumluluk sağlanmazsa, hata alınır.
package main
import "fmt"
func main() {
var isim, soyisim string
fmt.Scan(&isim, &soyisim)
fmt.Println("İsim:", isim, "Soyisim:", soyisim)
}
fmt.Scanln: Satır Sonuna Kadar Okuma
fmt.Scanln fonksiyonu ise, kullanıcıdan satır sonuna kadar olan tüm girdiyi okur. Boşluklar dikkate alınmaz. Bu nedenle, birden fazla kelime içeren bir girdiyi tek bir değişkende saklamak istediğinizde tercih edilir. Ancak, birden fazla değişken kullanıyorsanız, her değişken için yeni bir satır girdisi bekler. Bu durum, fmt.Scan fonksiyonundan farklıdır. Örneğin; kullanıcı bir cümle girdiğinde, cümle tek bir değişkende toplanır.
package main
import "fmt"
func main() {
var cumle string
fmt.Scanln(&cumle)
fmt.Println("Girilen cümle:", cumle)
}
fmt.Scanf: Formatlı Veri Girişi
fmt.Scanf fonksiyonu, en esnek tarama fonksiyonudur. Printf fonksiyonuna benzer şekilde, format belirleyicileri kullanarak kullanıcıdan belirli bir formatta veri almayı sağlar. Bu, veri doğrulamasını ve belirli bir formatta girdi alınmasını kolaylaştırır. Örneğin, bir tam sayı ve bir ondalıklı sayı almak için format belirleyicilerini kullanabiliriz.
package main
import "fmt"
func main() {
var tamSayi int
var ondalikSayi float64
fmt.Scanf("%d %f", &tamSayi, &ondalikSayi)
fmt.Println("Tam sayı:", tamSayi, "Ondalık sayı:", ondalikSayi)
}
Hata Yönetimi
Tarama işlemlerinde hata yönetimi önemlidir. Kullanıcı beklenmedik bir girdi verebilir veya girdi türü ile değişken türü uyuşmayabilir. Bu gibi durumlarda, Scan, Scanln ve Scanf fonksiyonları hata döndürür. Bu hataları yakalamak ve uygun şekilde işlemek için hata kontrolü yapılması gerekmektedir. Ayrıca, kullanıcıya daha anlaşılır geri bildirimler sağlamak için uygun hata mesajları göstermek faydalı olacaktır.
Umarım bu makale, Go programlama dilinde tarama işlemlerini anlamanıza yardımcı olmuştur. Daha fazla bilgi için fatihsoysal.com adresini ziyaret edebilirsiniz. Ayrıca, Go dilinin resmi dokümanlarını incelemenizi tavsiye ederim.
Ek olarak, konu ile ilgili daha fazla bilgi için aşağıdaki kaynakları inceleyebilirsiniz:
#Etiketler
Go, Golang, Tarama, Scan, fmt.Scan, fmt.Scanln, fmt.Scanf, Input, Giriş, Programlama, Örnekler, Tutorial, Hata Yönetimi