You are on page 1of 6

Merhaba, elbette! Go programlama dilini inceleyerek size bilgi verebilirim.

Go, Google tarafından 2009 yılında geliştirilen bir programlama dilidir. Go, kolay
anlaşılır bir söz dizimi ve açık kaynaklı bir yapıya sahiptir. Bu dil, performans ve
verimliliği ön plana alan bir dil olarak tasarlandı ve genellikle sistem programlama ve
dağıtık sistemler gibi alanlarda kullanılmaktadır.

Go dilinin özellikleri arasında şunlar bulunmaktadır:

 Kolay anlaşılır bir söz dizimi: Go dilinin söz dizimi, C diline benzerdir ve kolay
anlaşılır bir yapıya sahiptir.
 Açık kaynaklı: Go dilinin kodları ve dokümantasyonu açık kaynaklıdır ve herkes
tarafından incelenebilir ve katkıda bulunulabilir.
 Performans ve verimliliğe odaklı: Go dilinin tasarımı, performans ve verimliliği
ön plana almıştır. Bu nedenle, Go dilini sistem programlama ve dağıtık
sistemler gibi alanlarda sıklıkla kullanılmaktadır.
 Yüksek seviyeli: Go dilinin birçok yüksek seviye kavramı barındırdığından, bu dil
ile kod yazarken çok düşünmenize gerek kalmaz. Bu, kod yazmayı hızlandırır ve
daha kolay hale getirir.
 Güçlü tip sistemi: Go dilinin güçlü bir tip sistemine sahip olduğu için, bu dil ile
yazdığınız kodun daha sağlıklı ve güvenilir olmasını sağlar.

Go dilinin yaygın olarak kullanıldığı alanlar arasında sistem programlama, dağıtık


sistemler, web uygulamaları ve veri işleme gibi alanlar bulunmaktadır. Go dilinin kolay
anlaşılır söz dizimi, açık kaynaklı yapısı ve performans odaklı tasarımı nedeniyle, bu dil
günümüzde popüler bir seçimdir.

Go dilinde, parser bir dilin belirli bir kural setine uygun olarak bir metni ya da kodu
ayrıştırıp, anlamını anlayabilen bir yapıdır. Parser, dilin söz dizimini ve semantik
kurallarını anlamaya yarayan bir araçtır.

Go dilinde, parser çeşitli amaçlar için kullanılabilir. Örneğin, Go dilinde bir paket
yöneticisi olarak kullanılabilecek bir parser, paketler arasındaki bağımlılıkları tespit
etmek için kodu ayrıştırarak inceleyebilir. Benzer şekilde, Go dilinde bir derleyici olarak
kullanılabilecek bir parser, dilin söz dizimini ve semantik kurallarını anlamaya
yarayarak, dilin kurallarına uygun olarak kodu derleyebilir.

Go dilinde, yapısal bir dil olarak tasarlandığından, parserlar genellikle yapısal


ayrıştırma yöntemlerini kullanır. Bu yöntemler, dilin söz dizimini ve semantik
kurallarını belirlemek için kodun yapısını inceler ve bu yapıya göre ayrıştırır.

Go dilinde, yapısal ayrıştırma yöntemlerine dayalı parserlar genellikle kolay anlaşılır ve


performanslıdır. Bu nedenle, Go dilinde parserlar sıklıkla kullanılmaktadır.
Go dilinde, değişkenler (variables) bir veri tipine sahip nesnelerdir ve programlarınızda
veri saklamak ve işlem yapmak için kullanılırlar. Go dilinde, değişkenler iki çeşittir:
genel (global) ve yerel (local).

Genel değişkenler, bir programın herhangi bir yerinden erişilebilen değişkenlerdir. Bir
fonksiyonun dışında tanımlanırlar ve tüm fonksiyonlar tarafından kullanılabilirler.
Genel değişkenler, programın herhangi bir yerinde kullanılabileceğinden, dikkatli bir
şekilde yönetilmeleri gerekir, aksi takdirde programın beklenmeyen şekillerde
çalışmasına neden olabilirler.

Yerel değişkenler ise, bir fonksiyon içinde tanımlanır ve sadece o fonksiyon tarafından
kullanılabilirler. Yerel değişkenler, bir fonksiyonun çalışma esnasında oluşur ve
fonksiyon çalışması bittiğinde yok olurlar. Yerel değişkenler, programın diğer
yerlerinden erişilemezler ve programın çalışma esnasında sadece o fonksiyon
tarafından kullanılabilirler.

Go dilinde, değişken tanımlama işlemi şu şekildedir:

var değişken_adı veri_tipi

Örneğin, bir integer türünde bir genel değişken tanımlamak için aşağıdaki gibi bir kod
yazılabilir:

var x int

Bir yerel değişken tanımlamak için ise, bir fonksiyon içinde aşağıdaki gibi bir kod yazılabilir:

func myFunction() {

var y int

// y yerel bir integer türünde değişkendir ve sadece myFunction fonksiyonu tarafından kullanılabilir.

Go dilinde, kapsam (scope) bir değişkenin ya da fonksiyonun nerelerden


erişilebileceğini belirler. Go dilinde, iki çeşit kapsam vardır: genel (global) ve yerel
(local).

Genel kapsam, bir değişkenin veya fonksiyonun programın herhangi bir yerinden
erişilebileceği anlamına gelir. Genel kapsamda tanımlanan değişkenler ve
fonksiyonlar, programın herhangi bir yerinde kullanılabilir. Örneğin, aşağıdaki kod
örneğinde, x değişkeni genel kapsamda tanımlanmıştır ve programın herhangi bir
yerinden erişilebilir:

var x int
func main() {

// x değişkeni burada kullanılabilir

func myFunction() {

// x değişkeni burada da kullanılabilir

Yerel kapsam ise, bir değişkenin veya fonksiyonun sadece o fonksiyon içinde kullanılabileceği
anlamına gelir. Yerel kapsamda tanımlanan değişkenler ve fonksiyonlar, sadece o fonksiyon
içinde kullanılabilir ve programın diğer yerlerinden erişilemezler. Örneğin, aşağıdaki kod
örneğinde, y değişkeni yerel kapsamda tanımlanmıştır ve sadece myFunction fonksiyonu
içinde kullanılabilir:

func main() {

// y değişkeni burada kullanılamaz

func myFunction() {

var y int

// y değişkeni burada kullanılabilir

Go dilinde, değişkenler statik veya dinamik tiplemeli olabilir. Statik tiplemeli değişkenler,
tanımlanırken veri tipini belirtirler ve değiştirilemezler. Örneğin, aşağıdaki kod örneğinde, x
değişkeni integer türünde bir değişken olarak tanımlanmıştır ve veri tipi değiştirilemez:

var x int

x = 10 // x'in veri tipi integer olduğundan, string türünde bir değer ataması yapılamaz.

Go dilinde, dinamik tiplemeli değişkenler (dynamic typed variables) veri tipini


tanımlanırken belirtmediğimizdeğişkenlerdir. Dinamik tiplemeli değişkenler, değer
atandıklarında otomatik olarak veri tipini alırlar. Bu sayede, dinamik tiplemeli
değişkenler, programın çalışma sırasında veri tiplerini değiştirebilirler.

Go dilinde, dinamik tiplemeli değişkenler, := operatörü ile tanımlanır. Örneğin,


aşağıdaki kod örneğinde, x değişkeni dinamik tiplemeli bir değişken olarak
tanımlanmıştır ve ilk atama işleminde integer türünde bir değer almıştır:

x := 10 // x integer türünde bir değişkendir


Daha sonra, x değişkenine farklı bir veri tipinde bir değer atanabilir. Örneğin, aşağıdaki kod
örneğinde, x değişkenine string türünde bir değer atanmıştır:

x := "hello" // x string türünde bir değişkendir

Dinamik tiplemeli değişkenler, programın çalışma sırasında veri tipini değiştirebilme özelliğine
sahiptirler, ancak bu özellikleri nedeniyle de dikkatli bir şekilde kullanılmaları gerekir. Eğer
yanlış bir veri tipi ile atama yapılırsa, program hata verme ihtimali vardır.

Go dilinde, veri tipleri (data types) bir değişkenin saklayabileceği veri türünü belirler.
Go dilinde, çeşitli veri tipleri bulunmaktadır ve bu veri tipleri aşağıdaki gibidir:

 bool: True (doğru) veya False (yanlış) değerlerini saklar.


 int: İnteger (tamsayı) değerlerini saklar. Go dilinde, int veri tipi 32 veya 64 bit
olabilir ve veri tipinin ne kadar büyük olduğu otomatik olarak belirlenir.
 int8, int16, int32, int64: 8, 16, 32 veya 64 bit olacak şekilde tamsayı
değerlerini saklar.
 uint: İnteger (tamsayı) değerlerini saklar, ancak negatif değerler saklanamaz.
Go dilinde, uint veri tipi 32 veya 64 bit olabilir ve veri tipinin ne kadar büyük
olduğu otomatik olarak belirlenir.
 uint8, uint16, uint32, uint64: 8, 16, 32 veya 64 bit olacak şekilde tamsayı
değerlerini saklar, ancak negatif değerler saklanamaz.
 float32, float64: Küsüratlı (float) sayıları saklar. Go dilinde, float veri tipi 32
veya 64 bit olabilir.
 complex64, complex128: Karmaşık sayıları saklar. Go dilinde, complex veri tipi
32 veya 64 bit olabilir.
 string: Metin (string) değerlerini saklar.
 rune: Unicode karakterlerini saklar.

Go dilinde, veri tipleri ayrıca array (dizi), slice ve struct gibi veri yapıları olarak da
kullanılabilir.
Go dilinde, operatörler (operators) iki veya daha fazla değişken veya değer arasında
işlemler yapmak için kullanılır. Go dilinde, üç çeşit operatör bulunmaktadır: unary (tek
argümanlı), binary (çift argümanlı) ve ternary (üç argümanlı).

Unary operatörler, tek bir değişken veya değer üzerinde işlem yapar. Örneğin,
aşağıdaki kod örneğinde, -x unary negatif operatörü kullanılmıştır ve x değişkeninin
negatif değeri alınmıştır:

x := 10

y := -x // y = -10

Binary operatörler ise, iki değişken veya değer arasında işlem yapar. Örneğin, aşağıdaki kod
örneğinde, + binary toplama operatörü kullanılmıştır ve x ve y değişkenlerinin toplamı
alınmıştır:
x := 10

y := 20

z := x + y // z = 30

Ternary operatörler ise, üç değişken veya değer arasında işlem yapar. Go dilinde,
ternary operatör olarak if yapısı kullanılır. Örneğin, aşağıdaki kod örneğinde, if
yapısı kullanılarak x değişkeninin negatif olup olmadığı kontrol edilmiş ve negatif ise
y değişkeninin değeri, pozitif ise z değişkeninin değeri atanmıştır:

x := -10

y := "negative"

z := "positive"

result := y if x < 0 else z // result = "negative"

Go dilinde temel alıştırma örnekleri verilmiştir:

1. Şartlı ifadeler:

Go dilinde, if yapısı kullanılarak şartlı ifadeler oluşturulabilir. Örneğin, aşağıdaki kod


örneğinde, x değişkeninin negatif olup olmadığı kontrol edilmiş ve negatif ise ekrana
"Negatif" yazdırılmıştır:

x := -10

if x < 0 {

fmt.Println("Negatif")

2. Döngüler:

Go dilinde, for yapısı kullanılarak döngüler oluşturulabilir. Örneğin, aşağıdaki kod


örneğinde, i değişkeni 0'dan 5'e kadar olan sayıları yazdırmak için bir döngü
oluşturulmuştur:

for i := 0; i <= 5; i++ {

fmt.Println(i)

// Output: 0 1 2 3 4 5
Go dilinde, for döngüsünün yanı sıra, range yapısı da kullanılarak döngüler
oluşturulabilir. Örneğin, aşağıdaki kod örneğinde, bir dizinin elemanlarını yazdırmak
için bir döngü oluşturulmuştur:

arr := [5]int{1, 2, 3, 4, 5}

for i, v := range arr {

fmt.Printf("Index: %d, Value: %d\n", i, v)

/*

You might also like