Sprintf ve Fprintf
Dizelere ve yazıcılara biçimlendirin
Sprintf ve Fprintf, CoddyKit'te ücretsiz bir Go Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Go Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Go Academy kursu toplamda 4 dersten oluşur.
Printf Ailesi
fmt paketinde birbirine benzeyen üç biçimlendirme işlevi vardır:
Printfstandart çıktıya yazar.Sprintfbiçimlendirilmiş bir dize döndürür.Fprintfherhangi bir yazıcıya yazar.
package main
import "fmt"
func main() {
fmt.Printf("hello %s\n", "world")
}Sprintf Bir Dize Döndürür
fmt.Sprintf, Printf ile tamamen aynı şekilde biçimlendirir; ancak yazdırmak yerine sonucu depolayabileceğiniz veya yeniden kullanabileceğiniz bir dize olarak döndürür.
package main
import "fmt"
func main() {
msg := fmt.Sprintf("%s scored %d", "Bob", 95)
fmt.Println(msg)
}Tanımlayıcılar Oluşturma
Sprintf; anahtarları, dosya adlarını veya etiketleri parçalardan oluşturmak için kullanışlıdır.
package main
import "fmt"
func main() {
id := fmt.Sprintf("user-%04d", 42)
fmt.Println(id)
}Sayıları Metne Biçimlendirme
Sayıları para birimi gibi düzgün biçimlendirilmiş dizelere dönüştürmek için Sprintf kullanın.
package main
import "fmt"
func main() {
label := fmt.Sprintf("Price: $%.2f", 7.5)
fmt.Println(label)
}Fprintf Bir Yazıcıya Yazar
fmt.Fprintf, ilk bağımsız değişken olarak bir io.Writer alır ve biçimlendirilmiş içeriği ona yazar. os.Stdout böyle bir yazıcıdır.
package main
import (
"fmt"
"os"
)
func main() {
fmt.Fprintf(os.Stdout, "to stdout: %d\n", 1)
}Standart Hata Akışına Yazma
Tanılama bilgilerini os.Stderr akışına Fprintf ile göndererek normal çıktıdan ayrı tutun.
package main
import (
"fmt"
"os"
)
func main() {
fmt.Fprintf(os.Stderr, "warning: %s\n", "low disk")
}Fprintf ile Builder'a Yazma
strings.Builder aynı zamanda bir io.Writer olduğundan içeriği doğrudan ona biçimlendirebilir ve sonunda dizeyi okuyabilirsiniz.
package main
import (
"fmt"
"strings"
)
func main() {
var b strings.Builder
fmt.Fprintf(&b, "%s=%d;", "x", 10)
fmt.Fprintf(&b, "%s=%d", "y", 20)
fmt.Println(b.String())
}Fprintf ile bytes.Buffer'a Yazma
bytes.Buffer da yaygın olarak kullanılan başka bir yazıcı hedefidir. İçeriği oluşturun, ardından bir dizeye dönüştürün.
package main
import (
"bytes"
"fmt"
)
func main() {
var buf bytes.Buffer
fmt.Fprintf(&buf, "row %d\n", 1)
fmt.Fprintf(&buf, "row %d\n", 2)
fmt.Print(buf.String())
}f Olmadan Sprint ve Fprint
f içeren sürümler bir biçimlendirme dizesi alır. Sprint/Fprint için f'yi kaldırırsanız bağımsız değişkenleri varsayılan biçimlendirmeyle basitçe birleştirirler.
package main
import "fmt"
func main() {
s := fmt.Sprint("a", 1, true)
fmt.Println(s)
}Sprintln Boşluk Ekler
fmt.Sprintln, bağımsız değişkenleri boşluklarla birleştirir, satır sonu ekler ve dizeyi döndürür.
package main
import "fmt"
func main() {
s := fmt.Sprintln("x", 1, "y", 2)
fmt.Print(s)
}Doğru Aracı Seçme
Hedefe göre seçim yapın:
- Bir dizeye mi ihtiyacınız var?
Sprintfkullanın. - Standart çıktıya mı yazıyorsunuz?
Printfkullanın. - Bir dosyaya, arabelleğe veya hata akışına mı yazıyorsunuz?
Fprintfkullanın.
package main
import (
"fmt"
"os"
)
func main() {
s := fmt.Sprintf("count=%d", 3)
fmt.Fprintf(os.Stdout, "%s\n", s)
}Hızlı Kontrol
Biçimlendirilmiş metni yazdırmak yerine hangi işlev döndürür?
Özet: Sprintf ve Fprintf
Biçimlendirme ailesini öğrendiniz:
Sprintfbir dize döndürür.Fprintfherhangi birio.Writer'a yazar (standart çıktı, standart hata, arabellekler, oluşturucular).fiçermeyen sürümler varsayılan biçimlendirmeyi kullanır.
package main
import (
"fmt"
"strings"
)
func main() {
var b strings.Builder
fmt.Fprintf(&b, "result=%s", fmt.Sprintf("%d%%", 80))
fmt.Println(b.String())
}Sıkça Sorulan Sorular
“Sprintf ve Fprintf” dersi ücretsiz mi?
Evet — “Sprintf ve Fprintf” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Go Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Go Academy kursu toplamda 4 dersten oluşur.
“Sprintf ve Fprintf” dersinde ne öğreneceğim?
Dizelere ve yazıcılara biçimlendirin Go Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Go Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Go Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Sprintf ve Fprintf” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Go Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Go Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Printf Fiilleri
- Sprintf ve Fprintf
- Stringer Arayüzü
- Girdiyi Tarama