Özel Tipler Tanımlama
Coddy'nin GO Journey'sinin Temeller bölümünün bir parçası — ders 94 / 109.
Go'da, mevcut türlere dayalı kendi özel türlerinizi oluşturabilirsiniz. Bu, kodunuza daha fazla netlik ve tür güvenliği sağlar.
Santigrat cinsinden sıcaklık için özel bir tür tanımlayın:
type Celsius float64
func main() {
var temperature Celsius = 25.5
fmt.Printf("Temperature: %.1f°C\n", temperature)
}Sonuç sıcaklık değerini gösterir:
Temperature: 25.5°CÖzel türler, temelindeki türler gibi davranır ancak derleyici tarafından ayrı türler olarak ele alınır; bu da kodun okunabilirliğini artırır ve mantıksal hataları önler.
Görev
BaşlangıçBu meydan okumada, Go'da özel bir tür tanımlama pratiği yapacaksınız. Özel türler, mevcut türlere dayalı kendi veri türlerinizi oluşturmanıza olanak tanır.
Göreviniz, float64 tabanlı Temperature adında özel bir tür tanımlamak ve ardından bu türde bir değişken oluşturmaktır.
Türü tanımladıktan sonra, program sıcaklık değişkeninin değerini ve türünü yazdırmalıdır.
Kopya kağıdı
Go'da type anahtar kelimesini kullanarak özel türler oluşturun:
type Celsius float64Özel türler mevcut türlere dayanır ancak derleyici tarafından ayrı türler olarak değerlendirilir:
type Celsius float64
func main() {
var temperature Celsius = 25.5
fmt.Printf("Temperature: %.1f°C\n", temperature)
}Özel türler, temel türleri gibi davranırken kodun okunabilirliğini artırır ve tür güvenliği sağlar.
Kendin dene
package main
import "fmt"
// YAPILACAK: float64 tabanlı 'Temperature' adında özel bir tür tanımlayın
func main() {
// 23.5 değerine sahip Temperature türünde bir değişken oluşturun
var roomTemp Temperature = 23.5
// roomTemp'in değerini ve türünü yazdırın
fmt.Printf("Room temperature: %v\n", roomTemp)
fmt.Printf("Type of roomTemp: %T\n", roomTemp)
}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 Tekrarlama10Bileşik Tipler: Diziler
Dizilere GirişDizileri TanımlamaDizilere İlk Değer AtamaDizi Elemanlarına Erişme`len` ile Dizi UzunluğuDiziler Üzerinde YinelemeÇok Boyutlu Diziler13Bileşik Tipler: Struct'lar
Özel Tipler TanımlamaStruct Örnekleri OluşturmaStruct Alanlarına ErişmeStruct Pointer'larıStruct'ları BaşlatmaGömülü Struct'larAnonim Struct'larÖzet - Özel Veri Yapıları2Değ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