Dilimleri Kopyalama
Coddy'nin GO Journey'sinin Temeller bölümünün bir parçası — ders 82 / 109.
Go'daki copy fonksiyonu, öğeleri bir slice'tan diğerine kopyalamanıza olanak tanır.
Bir kaynak dilim (slice) ve bir hedef dilim oluşturun:
source := []int{1, 2, 3}
dest := make([]int, 2) // Uzunluğu 2 olan hedef
// Kaynaktan hedefe kopyala
copied := copy(dest, source)
fmt.Println("Source:", source)
fmt.Println("Destination:", dest)
fmt.Println("Number of elements copied:", copied)Sonuç:
Source: [1 2 3]
Destination: [1 2]
Number of elements copied: 2copy fonksiyonu, yalnızca hedef dilime sığacak kadar öğeyi kopyalar.
Görev
BaşlangıçBu meydan okumada, öğeleri bir slice'tan diğerine kopyalamak için copy fonksiyonunu kullanma pratiği yapacaksınız.
İki slice'ınız var: meyve isimlerini içeren source ve 3 öğelik kapasiteye sahip boş bir slice olan destination. Göreviniz, copy fonksiyonunu kullanarak öğeleri source'tan destination'a kopyalamaktır.
Kopyaladıktan sonra, destination slice'ının içeriğini yazdırın.
Kopya kağıdı
copy fonksiyonu, öğeleri bir dilimden (slice) diğerine kopyalar:
source := []int{1, 2, 3}
dest := make([]int, 2) // 2 uzunluğunda hedef
// Kaynaktan hedefe kopyala
copied := copy(dest, source)
fmt.Println("Source:", source)
fmt.Println("Destination:", dest)
fmt.Println("Number of elements copied:", copied)copy fonksiyonu, yalnızca hedef dilime sığacak kadar öğeyi kopyalar ve kopyalanan öğe sayısını döndürür.
Kendin dene
package main
import "fmt"
func main() {
// Meyve isimlerini içeren kaynak dilim
source := []string{"apple", "banana", "cherry", "date"}
// 3 eleman kapasiteli bir hedef dilim oluştur
destination := make([]string, 3)
// TODO: Kaynaktan hedefe elemanları kopyalamak için copy fonksiyonunu kullan
// Hedef dilimi yazdır
fmt.Println("Destination slice:", destination)
}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 Verme