Menu
Coddy logo textTech

Paket Takma Adları

Coddy'nin GO Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 54 / 68.

Bazen içe aktarılan bir pakete dosyanız içinde farklı bir ad vermeniz gerekir. Buna paket takma adı oluşturma denir ve Go, basit bir söz dizimiyle bunu kolaylaştırır.

Bir takma ad oluşturmak için içe aktarma ifadenizde paket yolundan önce yeni adı belirtirsiniz:

import f "fmt"

Artık fmt.Println() kullanmak yerine, daha kısa olan f.Println() kullanabilirsiniz. Bu, özellikle iki durumda yararlıdır: kısaltmak istediğiniz çok uzun paket adlarınız olduğunda veya aynı ada sahip paketler arasındaki ad çakışmalarını önlemeniz gerektiğinde.

package main

import f "fmt"

func main() {
    f.Println("Hello with an alias!")
}

Paket takma adı kullanımı, içe aktarılan paketlere nasıl başvurduğunuz konusunda esneklik sağlar; kodunuzu daha okunabilir hâle getirir ve karmaşık içe aktarma senaryolarını yönetmenize yardımcı olur.

challenge icon

Görev

Kolay

Özel takma adlarla birden fazla paketi içe aktararak ve bunları çeşitli işlemleri gerçekleştirmek için kullanarak paket takma adlandırmayı gösteren bir program oluşturun. Bu görev, paketler için anlamlı takma adlar oluşturma ve bunları programınız boyunca tutarlı bir şekilde kullanma becerinizi test edecektir.

İki girdi alacaksınız:

  • "package1:alias1,package2:alias2,package3:alias3" biçiminde paket takma adı tanımlarını içeren bir dize (ör. "fmt:output,strings:text,strconv:convert")
  • "operation1:data1|operation2:data2|operation3:data3" biçiminde gerçekleştirilecek işlemleri içeren bir dize (ör. "print:Hello World|upper:go programming|parse:42")

Göreviniz:

  1. Tek tek paket takma adı tanımlarını elde etmek için ilk girdiyi virgüllere göre bölün
  2. Her takma ad tanımı için, özgün paket adını ve takma adını elde etmek üzere iki nokta üst üste işaretlerine göre bölün
  3. Belirtilen takma adları kullanarak paketleri içe aktarın:
    • fmt paketini sağlanan takma adla içe aktarın
    • strings paketini sağlanan takma adla içe aktarın
    • strconv paketini sağlanan takma adla içe aktarın
  4. Takma ad ayarlama bilgilerini görüntüleyin:
    • "=== PACKAGE ALIAS DEMONSTRATION ==="
    • "Setting up package aliases:"
    • Her takma ad için: "- [original_package] aliased as '[alias]'"
  5. Tek tek işlemleri elde etmek için ikinci girdiyi dikey çizgilere göre bölün
  6. Her işlem için, işlem türünü ve veriyi elde etmek üzere iki nokta üst üste işaretlerine göre bölün
  7. İşlem başlığını görüntüleyin: "Performing operations using aliases:"
  8. Her işlem için, takma ad verilmiş paketleri kullanarak karşılık gelen eylemi gerçekleştirin:
    • "print" işlemleri için: "[fmt_alias].Println: [data]" yazdırmak üzere fmt takma adını kullanın
    • "upper" işlemleri için: Veriyi büyük harfe dönüştürmek ve "[strings_alias].ToUpper: [uppercase_data]" yazdırmak üzere strings takma adını kullanın
    • "lower" işlemleri için: Veriyi küçük harfe dönüştürmek ve "[strings_alias].ToLower: [lowercase_data]" yazdırmak üzere strings takma adını kullanın
    • "parse" işlemleri için: Veriyi bir tam sayı olarak ayrıştırmak ve "[strconv_alias].Atoi: [parsed_number]" yazdırmak üzere strconv takma adını kullanın
    • "format" işlemleri için: Biçimlendirmek ve "[fmt_alias].Sprintf: Formatted -> [data]" yazdırmak üzere fmt takma adını kullanın
  9. İşlem istatistiklerini sayın ve görüntüleyin:
    • "Operation Summary:"
    • "Total operations performed: [total_operations]"
    • "Packages used: [comma_separated_list_of_aliases_used]"
  10. Takma ad kullanmanın avantajlarını görüntüleyin:
    • "Benefits demonstrated:"
    • "- Shorter function calls using aliases"
    • "- Improved code readability"
    • "- Avoided potential naming conflicts"
  11. Tamamlanma mesajını görüntüleyin: "Package aliasing demonstration completed successfully"

Girdi dizelerini bölmek ve metinleri işlemek için strings paketini, dizeleri tam sayılara dönüştürmek için strconv paketini ve biçimlendirilmiş çıktı için fmt paketini kullanın. Özgün paket adları yerine programınız boyunca takma adları tutarlı bir şekilde kullanmayı unutmayın. Bu görev, paket takma adlandırmanın adlandırma çakışmalarını önlerken kodunuzu nasıl daha kısa ve okunabilir hâle getirebileceğini gösterir.

Kendin dene

package main

import (
	"bufio"
	f "fmt"
	"os"
	"sort"
	c "strconv"
	s "strings"
)

func main() {
	// Boşlukları düzgün bir şekilde işlemek için bufio.Scanner kullanarak girişi oku
	scanner := bufio.NewScanner(os.Stdin)
	
	scanner.Scan()
	aliasInput := scanner.Text()
	
	scanner.Scan()
	operationsInput := scanner.Text()
	
	// Takma ad (alias) tanımlarını ayrıştır
	aliasDefinitions := s.Split(aliasInput, ",")
	
	// İşlemleri ayrıştır
	operations := s.Split(operationsInput, "|")
	
	// TODO: Kodunuzu aşağıya yazın
	// 1. Paket adını ve takma adını almak için her bir takma ad tanımını ayrıştırın (uzunlukları kontrol edin)
	// 2. Paket takma adı gösterim başlığını ve kurulum bilgilerini görüntüleyin
	// 3. Uygun takma adlı paketi kullanarak her bir işlemi gerçekleştirin
	// 4. İşlemleri sayın ve hangi takma adların kullanıldığını takip edin (sırayı koruyun veya sıralayın)
	// 5. İşlem özetini ve faydalarını görüntüleyin
	
	// Programınız boyunca takma adları tutarlı bir şekilde kullanmayı unutmayın
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık ve Akış bölümündeki tüm dersler

Kendi başına pratik yap: Online Go derleyicisi