İşaretçi Değişkenlerini Tanımlama
Coddy'nin GO Journey'sinin Temeller bölümünün bir parçası — ders 61 / 109.
Go'da, pointer'ları iki ana yolla tanımlayabilirsiniz: bir pointer tipi ile var kullanarak veya := ile adres operatörünü kullanarak.
Bir işaretçi türü ile var kullanarak bir işaretçi tanımlayın:
func main() {
var x int = 42
var ptr *int // Bir tam sayıya işaretçi tanımla
ptr = &x // x'in adresini ptr'ye ata
fmt.Println("Value of x:", x)
fmt.Println("Value of ptr:", ptr)
fmt.Println("Value at ptr:", *ptr)
}Çıktı, işaretçinin (pointer) x'in adresini sakladığını gösterir:
Value of x: 42
Value of ptr: 0xc000018030
Value at ptr: 42Bir işaretçiyi (pointer) := kullanarak tek bir satırda da tanımlayabilir ve başlatabilirsiniz:
y := 100
ptr := &y // İşaretçiyi tek bir adımda tanımlayın ve başlatınGörev
BaşlangıçBu meydan okumada, Go'da pointer (işaretçi) tanımlama ve kullanma pratiği yapacaksınız. Sizin için bir pointer zaten ayarlandı ve göreviniz aynı değeri işaret eden yeni bir pointer oluşturmaktır.
Mevcut pointer ile aynı bellek adresini işaret eden 'secondPointer' adında yeni bir pointer değişkeni tanımlamak için koddaki TODO kısmını tamamlayın.
Kopya kağıdı
Go'da, pointer'ları (işaretçileri) bir pointer tipiyle var kullanarak veya adres operatörünü := ile kullanarak tanımlayabilirsiniz.
var kullanarak bir pointer tanımlayın:
var x int = 42
var ptr *int // Bir tamsayıya pointer tanımlayın
ptr = &x // x'in adresini ptr'ye atayın:= kullanarak tek satırda bir pointer tanımlayın ve başlatın:
y := 100
ptr := &y // Pointer'ı tek adımda tanımlayın ve başlatınPointer değerlerine erişin:
ptr- bellek adresi*ptr- o adresteki değer
Kendin dene
package main
import "fmt"
func main() {
// İşte bir değişken ve ona işaret eden bir işaretçi (pointer)
originalValue := 42
pointerToValue := &originalValue
// TODO: 'pointerToValue' ile aynı bellek adresini işaret eden
// 'secondPointer' adında yeni bir işaretçi değişkeni tanımlayın
// Aşağıdaki kodu değiştirmeyin
fmt.Printf("Original value: %v\n", originalValue)
fmt.Printf("Value through first pointer: %v\n", *pointerToValue)
fmt.Printf("Value through second pointer: %v\n", *secondPointer)
// Orijinal değeri değiştirelim ve tüm işaretçilerin değişikliği yansıttığını görelim
originalValue = 100
fmt.Printf("\nAfter changing original value to 100:\n")
fmt.Printf("Original value: %v\n", originalValue)
fmt.Printf("Value through first pointer: %v\n", *pointerToValue)
fmt.Printf("Value through second pointer: %v\n", *secondPointer)
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Karşılaştırma ve Mantıksal Operatörler
Karşılaştırma Operatörleri - Bölüm 1Karşılaştırma Operatörleri - Bölüm 2Mantıksal VE OperatörüMantıksal VEYA OperatörüMantıksal DEĞİL OperatörüOperatör Önceliği TemelleriÖzet - Karşılaştırma Yapma7Kontrol Akışı: Döngüler
`for` Döngüsü Nedir?`for` Döngüsü - Temel`for` Döngüsü - Sadece Koşul`break` Anahtar Kelimesi`continue` Anahtar Kelimesiİç İçe DöngülerÖzet - İşlemleri Tekrarlama2Değişkenler ve Temel Veri Tipleri
Değişken nedir?`:=` ile Tür ÇıkarımıTam Sayılar (int)Ondalıklı SayılarBooleanlarStringlerSıfır DeğerlerSabitlerİsimlendirme KurallarıÖzet - Değişkenler ve Türler5Temel Giriş/Çıkış
Biçimlendirilmiş ÇıktıBiçim BelirteçleriVeri Tiplerini YazdırmaTemel Kullanıcı Girdisi AlmaÖzet - Giriş ve Çıkış8Fonksiyonlar
Fonksiyonları AnlamakFonksiyon TanımlamaFonksiyonları ÇağırmaFonksiyon ParametreleriTek Bir Değer DöndürmeBirden Fazla Değer Döndürmeİsimlendirilmiş Dönüş DeğerleriFonksiyon Kapsamı TemelleriÖzet - Yeniden Kullanılabilir Kod Oluşturma3Temel Operatörler
Aritmetik OperatörlerBölme OperatörüModulo OperatörüAtama OperatörüBileşik Atama OperatörleriArtırma ve AzaltmaÖzet - Hesaplamalar6Kontrol Akışı: Koşullu İfadeler
`if` İfadesi`else` Anahtar Kelimesi`else if` Anahtar Kelimesi`if` İçinde Değişken GölgelemeDeğişkenleri Başlatma`switch` İfadesiİfadeli `switch`İfadesiz `switch``fallthrough` Anahtar KelimesiÖzet - Karar Verme9İşaretçiler
İşaretçi Nedir?İşaretçi Değişkenlerini TanımlamaAdres Operatörüİşaretçi Referansını ÇözmeFonksiyonlarda İşaretçi KullanımıNil İşaretçilerÖzet - İşaretçileri Anlamak