udemere

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

Last updated on

On this page

Xato haqida xabar berish