Go kodunu yazarken, birçok durumda dize biçimlendirmesini çok yararlı bulacaksınız. Girdileri ayrıştırıyor veya basit birleştirmeden daha karmaşık çıktılar oluşturuyor olabilirsiniz. Düz dizeler dışındaki türlerle çalışıyor olabilirsiniz.

Go'da dize biçimlendirme, Java'dan Haskell'e kadar olan dillerin de kullandığı printf işlevinin tanıdık sürecini ve sözdizimini kullanır.

Go, dizindeki dizeleri biçimlendirmek için çeşitli yöntemler sağlar. fmt paket. Biçimlendirmek istediğiniz işleme veya girişlere bağlı olarak dize biçimlendirme için işlevleri ve fiilleri kullanabilirsiniz.

Go'da Dize Biçimlendirme

fmt paketindeki işlevler, aşağıdakiler gibi benzerlerine benzer: bash içindeki printf işlevi veya C. Go, biçimlendirme fiillerini C'den alır.

Kullan dize biçimlendirme fiilleri içeren bir dizedeki değişken değerleriniz için yer tutucular olarak. Daha sonra bu biçimlendirme dizesini aşağıdaki gibi bir işleve iletebilirsiniz. Yazdır, bu yer tutuculara karşılık gelen değerlerle birlikte.

ile dize biçimlendirme fiillerini kullanamazsınız.

instagram viewer
Yazdır ve Println yöntemler. Gibi yöntemlerle kullanabilirsiniz. Yazdır ve Sprintf.

fmt. Println("Bu bir %v testidir", 90)
fmt. Printf("Bu bir %v testidir", 90)

bu %v fiil, herhangi bir değeri varsayılan biçiminde yazdırır. bu Println yöntem fiilleri tanımaz ve aldığı argümanları yazdırır. bu Yazdır ve Sprintf işlevlerin her ikisi de kendilerine ilettiğiniz ilk dize bağımsız değişkenini biçimlendirir.

fmt Paketindeki Dize Biçimlendirme İşlevleri

Dizeleri biçimlendirme Go programlama dili bir dize biçimlendirme işlevi ve bir fiil kullanmanızı gerektirir. İşlev, biçimlendirilmiş dizeyi döndürür ve fiiller, dizeye yapılan girişler için yer tutuculardır.

bu Yazdır yöntem, girişi biçim belirtecine göre biçimlendirir ve yazılan bayt veya hataların sayısını döndürür.

fmt. Printf("Bu bir %v testidir", 90)

Geleneksel olarak, kullandığınızda hatalar hakkında endişelenmenize gerek kalmayacak. Yazdır yöntem.

bu Sprintf metot belirtilen formata göre formatlar ve sonucu string olarak döndürür.

var sonuç = fmt. Sprintf("Bu bir %v testidir", 90)

bu Fprintf method dizgiyi biçimlendirir ve bir yazara yazar ( io. yazar arayüz)

// veriyi standart çıktıya yaz
sonuç, hata = fmt. Fprintf (yazar, "Bu bir %v testidir", 90)

bu fscanf Metod bir okuyucudan tarar ve belirtilen formata göre formatlar.

var almak sicim

// verilen dizideki verileri oku
readString := dizeler. NewReader("Bu bir denemedir")

oku, hata := fmt. Fscanf (okuyucu, "%v", &al)

Bu durumda, fscanf dizeyi okuyucudan koda çözer almak değişken ve okuman değişken, biçimin sonucunu tutar.

Dize Biçimlendirme Fiilleri

Go, dize biçimlendirme işlevleriyle birlikte kullanabileceğiniz birçok biçimlendirme fiili sağlar.

gibi genel dize biçimlendirme fiilleri vardır. %v dize biçimlendirme işlevleri örneklerinde fiil. Herhangi bir veri türünü biçimlendirmek için genel dize biçimlendirme fiillerini kullanabilirsiniz.

kullanabilirsiniz %#v herhangi bir değer çıktısı almak için fiil, %+v yapılar için, %T herhangi bir değerin türü için fiil ve %% değeri olmayan fiil.

tip hiç yapı { 
isim sicim
yaş int
Giriş Yapıldı bool
}

var örnek = herhangi bir {
isim: "John Doe",
yaş: 34,
Giriş Yapıldı: doğru,
}

var sonuç = fmt. Sprintf("Bu bir yapı biçimlendirme örneği %+v", örnek)
fmt. Println (sonuç)

bu sonuç değişken, somutlaştırılmış yapının biçimlendirilmiş dizesini tutar. Yazdırırsanız, şöyle görünmelidir:

Bu bir yapı biçimlendirme örneğidir {name: John Doe age: 34 isLoggedIn:doğru}

Kanallar ve işaretçiler dahil olmak üzere belirli Go yerel veri türlerini biçimlendirmek için fiiller vardır.

Fiil işlevsellik
%t boolean.
%d int, int8, vb.
%d, %#x %#v ile yazdırılırsa uint, uint8, vb.
%g float32, kompleks64, vb.
%s sicim.
%p chan.
%P Işaretçi.

Büyük/küçük harfe duyarlı oldukları için fiillerde hata yapmadığınızdan emin olmak isteyeceksiniz. chan ve Işaretçi fiiller.

Tam Sayıları ve Kayan Noktaları Biçimlendirme

Tam sayıları biçimlendirmek için dize biçimlendirme fiilleri vardır. farklı bazlar. Tam sayıları biçimlendirmek için bu fiillerden herhangi birini kullanabilirsiniz.

Fiil işlevsellik
%b taban 2
%c karşılık gelen Unicode kod noktasıyla temsil edilen karakter.
%d taban 10.
baz 8.
0o öneki ile taban 8.
%q tek tırnaklı bir karakter değişmezi, Go sözdizimi ile güvenli bir şekilde kaçtı.
%x 16 tabanı, a-f için küçük harflerle.
%X 16 tabanı, A-F için büyük harflerle.
%U Unicode formatı: U+1234; "U+%04X" ile aynı.

Örneğin, bir tamsayıyı şu şekilde biçimlendirebilirsiniz: %d fiil:

var sonuç = fmt. Sprintf("Bu, %d tamsayı biçimlendirme örneğidir", 90)
fmt. Println (sonuç)

Bunlar kayan noktalı sayıları biçimlendirme fiilleridir.

Fiil işlevsellik
%b strconv tarzında, üssü iki olan ondalıksız bilimsel gösterim. 'b' biçimiyle FormatFloat, ör. -123456p-78
%e bilimsel gösterim, ör. -1.234456e+78
%E ondalık nokta ancak üs yok, ör. 123.456
%f ondalık nokta ancak üs yok, ör. 123.456
%F %f'nin eş anlamlısı.
%g Büyük üsler için %e, aksi takdirde %f. Aşağıdaki hassasiyet.
%G Büyük üsler için %E, aksi takdirde %F
%x onaltılık gösterim (iki üssün ondalık kuvvetiyle), örneğin, -0x1.23abcp+20.
%X büyük harfli onaltılık gösterim, ör. -0X1.23ABCP+20.

İşte, üs olmadan ondalık basamağı biçimlendirmenin bir örneği: %f fiil.

var sonuç = fmt. Sprintf("Bu bir kayan nokta biçimlendirme örneğidir %f", 432.9503)
fmt. Println (sonuç)

Türünden emin değilseniz her zaman genel fiilleri kullanabilirsiniz.

Dizeleri ve Baytları Biçimlendirme

Go'da dizeler ve dilim bayt türleri oldukça benzerdir. Bunlar, dizeleri ve baytları biçimlendirmek için kullanılan bayraklardır.

Fiil işlevsellik
%s dizenin veya dilimin yorumlanmamış baytları
%q Go sözdizimi ile güvenli bir şekilde kaçan çift tırnaklı bir dize
%x taban 16, küçük harf, bayt başına iki karakter
%X taban 16, büyük harf, bayt başına iki karakter

Bir dizeyi şu şekilde biçimlendirmeye bir örnek: %s fiil.

var puan = "örnek"
var sonuç = fmt. Sprintf("Bu bir sicim biçimlendirme örneği %s", puan)
fmt. Println (sonuç)

fmt Paketi Python Programlama için Esastır

bu fmt paketi, dize biçimlendirme için ihtiyaç duyacağınız işlevlerin çoğunu içerir. Git ayrıca bir Teller dize işleme paketi ve bir kayıt günlük kaydı için dizeleri biçimlendirebilen paket.

bu fmt paketi uygulayan işlevlere sahiptir. io. yazar ve io. Okuyucu arayüzler. Web ve komut satırı uygulamaları oluşturmak gibi birçok kullanım durumu için faydalı bulacaksınız.