Variables

Değişkenler (variables), Go programlama dilinde veri saklamak için kullanılan temel yapı taşlarından biridir. Bir değişkene bir değer atayarak, o değişkenin tuttuğu değeri programda kullanabiliriz.

Değişkenlerin tanımlanması, var anahtar kelimesi ile yapılır. Tanımlanacak değişkenin adı ve veri tipi belirtilir. İlk değer verilmediğinde, Go dilinde değişkenlerin varsayılan bir değeri vardır.

var name string
name = "John Doe"

Bu örnekte, name adında bir değişken tanımlanır ve bu değişkenin tipi string olarak belirlenir. Daha sonra, name değişkenine "John Doe" stringi atanır.

Değişkenlerin değeri değiştirilebilir ve farklı veri tiplerinde olabilirler.

var age int
age = 32

age = "thirty-two" // compile error: cannot use "thirty-two" (type string) as type int in assignment

Bu örnekte, önce age adında bir değişken tanımlanır ve bu değişkenin tipi int olarak belirlenir. Daha sonra, age değişkenine 32 sayısı atanır.

Sonrasında age değişkenine "thirty-two" stringi atanmaya çalışılır ve program hata verir. Çünkü, age değişkeni int tipinde tanımlandığı için string tipinde bir değer atanamaz.

Değişkenler, programlarda belirli bir amaca hizmet etmek için kullanılırlar. Örneğin, bir kullanıcının ismi, yaşı veya bir dizi sayısal değer saklanabilir.

Alıştırmalar

1.Soru: Bir kullanıcıdan yaşını girmesini isteyen bir Go programı yazın. Kullanıcının girdiği yaş değerini alın ve bu değeri bir string olarak saklamaya çalışın. Ardından kullanıcıya yaşın doğru formatta girilmediğini belirten bir hata mesajı gösterin.

Çözüm
package main

import (
	"fmt"
)

func main() {
	var age string
	fmt.Print("Yaşınızı girin: ")
	fmt.Scanln(&age)

	_, err := strconv.Atoi(age)
	if err != nil {
		fmt.Println("Hata: Yaş bir sayı olmalıdır.")
	} else {
		fmt.Println("Yaşınız:", age)
	}
}

2.Soru: Bir kullanıcının adını ve soyadını girmesini isteyen bir Go programı yazın. Kullanıcının girdiği ad ve soyadı birleştirerek ekrana yazdırın. Ancak, eğer ad veya soyad boş bir string olarak girilirse, kullanıcıya hata mesajı gösterin.

Çözüm
package main

import (
	"fmt"
	"strings"
)

func main() {
	var firstName, lastName string
	fmt.Print("Adınızı girin: ")
	fmt.Scanln(&firstName)
	fmt.Print("Soyadınızı girin: ")
	fmt.Scanln(&lastName)

	fullName := strings.TrimSpace(firstName + " " + lastName)

	if fullName == " " {
		fmt.Println("Hata: Geçerli bir ad ve soyad girilmelidir.")
	} else {
		fmt.Println("Tam Adınız:", fullName)
	}
}

Last updated