Menu
Coddy logo textTech

Yeni Fonksiyon

Coddy'nin Golang'da Fonksiyonlar ve İşaretçiler kursunda ders 3 / 19.

Geçtiğimiz derslerde, değişkenlerin o alana işaret eden bir isme sahip bellekteki nesneler veya alanlar olduğunu öğrendik.

Go'da, bellekte isimsiz alan oluşturan bir fonksiyonumuz var ve bunu new() fonksiyonu yardımıyla yapıyoruz. Sözdizimi şu şekildedir:

coddy := new(string)

Burada, coddy isminde ve string türünde bir nesne oluşturduk ve new() fonksiyonu bu nesneye (alana) bir işaretçi (pointer) döndürür.

İsmi yazdırırsak, bu alanın bellek adresini alırız:

fmt.Println("Value:", coddy)

Sonuç şu olacaktır:

Value: 0xc000014070

Bu işaretçiye şu şekilde yeni bir değer atayabiliriz:

coddy := new(string)
*coddy = "Learn To Code with coddy"
fmt.Println("Value:", *coddy)

Sonuç şu olacaktır:

Value: Learn To Code with coddy

new() fonksiyonu ile işaretçiler oluşturduğumuzda, varsayılan değerin nil olmadığını unutmayın. Tıpkı değişkenlerde olduğu gibi türe bağlıdır. Eğer tür int ise varsayılan değer 0'dır; string için boş bir dizedir; ve boolean için false'tur.

challenge icon

Görev

Kolay

Kullanıcıdan bir girdi alan ve aşağıdakileri yapan bir program yazın:

  1. new() fonksiyonunu kullanarak int tipinde bir işaretçi oluşturur.
  2. İşaretçinin varsayılan değerini yazdırır.
  3. Kullanıcı tarafından girilen değeri bu işaretçiye atar.
  4. Atama işleminden sonra işaretçinin değerini yazdırır.

Kendin dene

package main

import (
	"fmt"
)

func main() {
	// Kullanıcıdan girdi al. Bunu değiştirmeyin!
	var num int
	fmt.Scanln(&num)

	// new() fonksiyonunu kullanarak int türünde bir pointer oluşturun.
 

	// Pointer'ın varsayılan değerini yazdırır.
    fmt.Println("Default value of the pointer:", ?)

	// Kullanıcı tarafından girilen değeri o pointer'a atar.
 

	// Atamadan sonra pointer'ın değerini yazdırır.
    fmt.Println("Value of the pointer after assignment:", ?)
}

Golang'da Fonksiyonlar ve İşaretçiler bölümündeki tüm dersler