Formatting Verbs

...

SU

Go Formatlash O'zgaruvchilari

Go tilida Printf() funksiyasi bilan ishlatish uchun bir nechta formatlash o'zgaruvchilari mavjud.

Umumiy Formatlash O'zgaruvchilari

Quyidagi o'zgaruvchilar barcha ma'lumot turlari bilan ishlatilishi mumkin:

O'zgaruvchiTavsif
%vQiymatni standart formatda chop etadi
%#vQiymatni Go-sintaksis formatida chop etadi
%TQiymatning turini chop etadi
%%% belgisini chop etadi

Misol

package main
import ("fmt")
 
func main() {
  var i = 15.5
  var txt = "Hello World!"
 
  fmt.Printf("%v\n", i)
  fmt.Printf("%#v\n", i)
  fmt.Printf("%v%%\n", i)
  fmt.Printf("%T\n", i)
 
  fmt.Printf("%v\n", txt)
  fmt.Printf("%#v\n", txt)
  fmt.Printf("%T\n", txt)
}

Natija:

15.5
15.5
15.5%
float64
Hello World!
"Hello World!"
string

Butun Son Formatlash O'zgaruvchilari

Quyidagi o'zgaruvchilar butun sonlar bilan ishlatilishi mumkin:

O'zgaruvchiTavsif
%b2-lik sanoq sistemasida chiqaradi
%d10-lik sanoq sistemasida chiqaradi
%+d10-lik sanoq sistemasida va har doim ishorani ko'rsatadi
%o8-lik sanoq sistemasida chiqaradi
%O8-lik sanoq sistemasida, 0o bilan boshlanadi
%x16-lik sanoq sistemasida, kichik harflar bilan
%X16-lik sanoq sistemasida, katta harflar bilan
%#x16-lik sanoq sistemasida, 0x bilan boshlanadi
%4dBo'shliqlar bilan to'ldiriladi (kenglik 4, o'ngga tekislanadi)
%-4dBo'shliqlar bilan to'ldiriladi (kenglik 4, chapga tekislanadi)
%04dNol bilan to'ldiriladi (kenglik 4)

Misol

package main
import ("fmt")
 
func main() {
  var i = 15
 
  fmt.Printf("%b\n", i)
  fmt.Printf("%d\n", i)
  fmt.Printf("%+d\n", i)
  fmt.Printf("%o\n", i)
  fmt.Printf("%O\n", i)
  fmt.Printf("%x\n", i)
  fmt.Printf("%X\n", i)
  fmt.Printf("%#x\n", i)
  fmt.Printf("%4d\n", i)
  fmt.Printf("%-4d\n", i)
  fmt.Printf("%04d\n", i)
}

Natija:

1111
15
+15
17
0o17
f
F
0xf
15
15
0015

Matn Formatlash O'zgaruvchilari

Quyidagi o'zgaruvchilar matn (string) bilan ishlatilishi mumkin:

O'zgaruvchiTavsif
%sQiymatni oddiy matn sifatida chiqaradi
%qQiymatni qo'shtirnoq ichida chiqaradi
%8sQiymatni oddiy matn sifatida chiqaradi (kenglik 8, o'ngga tekislanadi)
%-8sQiymatni oddiy matn sifatida chiqaradi (kenglik 8, chapga tekislanadi)
%xQiymatni bayt qiymatlari sifatida hex dump shaklida chiqaradi
% xQiymatni hex dump shaklida chiqaradi va bo'shliqlar qo'shiladi

Misol

package main
import ("fmt")
 
func main() {
  var txt = "Hello"
 
  fmt.Printf("%s\n", txt)
  fmt.Printf("%q\n", txt)
  fmt.Printf("%8s\n", txt)
  fmt.Printf("%-8s\n", txt)
  fmt.Printf("%x\n", txt)
  fmt.Printf("% x\n", txt)
}

Natija:

Hello
"Hello"
Hello
Hello
48656c6c6f
48 65 6c 6c 6f

Mantiqiy Formatlash O'zgaruvchilari

Quyidagi o'zgaruvchi mantiqiy (boolean) tur bilan ishlatilishi mumkin:

O'zgaruvchiTavsif
%tMantiqiy qiymatni true yoki false ko'rinishida chiqaradi (xuddi %v kabi)

Misol

package main
import ("fmt")
 
func main() {
  var i = true
  var j = false
 
  fmt.Printf("%t\n", i)
  fmt.Printf("%t\n", j)
}

Natija:

true
false

Qaymoqli Son Formatlash O'zgaruvchilari

Quyidagi o'zgaruvchilar qaymoqli son (float) bilan ishlatilishi mumkin:

O'zgaruvchiTavsif
%eIlmiy notatsiyada chop etadi, eksponent sifatida 'e' ishlatiladi
%fO'nlik nuqta bilan, eksponentsiz chop etadi
%.2fStandart kenglik, aniqlik 2
%6.2fKenglik 6, aniqlik 2
%gFaqat zarur bo'lgan raqamlar bilan eksponent

Misol

package main
import ("fmt")
 
func main() {
  var i = 3.141
 
  fmt.Printf("%e\n", i)
  fmt.Printf("%f\n", i)
  fmt.Printf("%.2f\n", i)
  fmt.Printf("%6.2f\n", i)
  fmt.Printf("%g\n", i)
}

Natija:

3.141000e+00
3.141000
3.14
3.14
3.141

Ushbu sahifada

GitHubda tahrirlash