-- Go

Go ile Konsolda Veri Giriş-Çıkış İşlemleri

Merhaba,

GO gibi server-side ya da backend diye tabir edilen uygulamalar geliştirmek için gerekli ilk özelliklerden biri konsol ortamını kullanabilmektir. Uygulamanızın genellikle bir arayüze ihtiyacı olmadığı ve gerekli ufak tefek komut işlemlerini de konsol üzerinden alınacak parametrelerle gerçekleştirilebildiği için bu işlemler önemlidir. Hem de pratik uygulamalar geliştirmemizi sağlamaktadır.

Şimdi GO programlama diliyle bir konsol uygulamasından nasıl veri alırız ve ekrana nasıl veri yazarız onu inceleyelim.

İlk olarak en basit haliyle bir örnek yapalım;

package main

import "fmt"

func main() {
	var s string
	fmt.Print("Text : ")
	fmt.Scanln(&s)
	fmt.Println(s)
}

Bu küçük uygulamayı “go run” ile çalıştırdığımızda ekranda “Text : ” yazarak bizden veri girmemizi bekleyecek. Sonrasında bu girilen veriyi fmt paketinin Scanln() fonksiyonunu kullanarak “s” isimli string tipindeki değişkenimize atayacaktır. Son olarak da Println() metodu ile ekranda gösterecektir. Burada bazı püf noktalar vardır elbette. Mesela veri alırken kullandığımız Print() metodunun alternatifleri Printf() ve Println()’dır. Mesela Println() Uygulama çalıştığında ekrana “Text : ” yazar ve imleç alt satıra inerek bekler.

Şimdi örneğimizi biraz daha geliştirelim.

Bu örneğimizde dışarıdan hem string hem de sayısal bir veri alıp ekranda göstereceğiz.

package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
	"strings"
)

// ilk basit örnek için sadece bu yazmalı

func main() {
	reader := bufio.NewReader(os.Stdin)
	fmt.Print("Enter text : ")
	str, _ := reader.ReadString('\n')
	fmt.Println(str)

	fmt.Print("Enter a number : ")
	str, _ = reader.ReadString('\n') // := değil, eşittir(=) dikkat
	f, err := strconv.ParseFloat(strings.TrimSpace(str), 64)

	if err != nil {
		fmt.Println(err)
	} else {
		fmt.Println("Value of number : ", f)
	}
}

Bu örneğimizi çalıştırdığımızda ise öncelikle  metinsel olarak bir veri girmemizi isteyecek, Enter tuşuna bastıktan sonra ise nümerik bir değer girmemizi bekleyecektir. Ve tabi ki bunları aşağıdaki gibi ekrana yazacaktır.

Enter text : cihanozhan.com
cihanozhan.com

Enter a number : 12345
Value of number :  12345

Bu temel seviyedeki örneklerin haricinde yapılacak bir çok işlem vardır. Mesela farklı makale ve video eğitimlerimdeki örneklerde olduğu gibi girilen değerin farklı türlere dönüştürülmesi, reflection ile tipinin bulunması gibi… Bunları kendimiz birleştirerek farklı sonuçlar elde etmeye çalışabilirsiniz.

Öneri : Tür dönüşümü ve tiplerini reflection ile bulduktan sonra bu veriyi bir JSON dosyası olarak bilgisayarınıza kaydedin. Sonra da aynı veriyi şurada anlattığım veritabanı işlemlerini izleyerek veritabanına kaydedin.

İyi çalışmalar.
Cihan Özhan

Yorumla

Yorum