Chiqarish operatori — ma’lumotni ekranga chiqarish uchun ishlatiladigan funksiya. Go’da bu vazifani fmt paketi bajaradi — u Print, Println va Printf kabi bir nechta funksiyani taqdim etadi, har biri o’ziga xos formatda ishlaydi.
fmt paketi — Go standart kutubxonasining kirish/chiqish formatlashga mo’ljallangan qismi.
Printlnavtomatik bo’shliq va yangi qator qo’shadi,Printfesa aniq format shablonidan foydalanadi.
Println va Print farqi
Println argumentlar orasiga bo’shliq qo’yadi va oxirida yangi qatorga o’tadi, Print esa buni qilmaydi:
package main
import "fmt"
func main() {
fmt.Println("Salom,", "UzbekDevs!")
fmt.Print("Salom, ")
fmt.Print("UzbekDevs!")
fmt.Print("\n")
}
Salom, UzbekDevs!
Salom, UzbekDevs!
Println("Salom,", "UzbekDevs!") ikkita argument orasiga avtomatik bo’shliq qo’ydi va qator oxirida yangi qatorga o’tdi. Print esa hech qanday avtomatik bo’shliq yoki qator o’tishisiz, argumentlarni ketma-ket chiqardi — yangi qatorni qo’lda ("\n") qo’shishga to’g’ri keldi.
Printf — format shablonlari
Printf C tilidan meros qolgan format spetsifikatorlari (%s, %d va h.k.) orqali aniq nazoratlangan chiqish beradi:
package main
import "fmt"
func main() {
ism := "Farrux"
yosh := 26
narx := 15000.5
fmt.Printf("Ism: %s, Yosh: %d, Narx: %.2f\n", ism, yosh, narx)
}
Ism: Farrux, Yosh: 26, Narx: 15000.50
%s — satr, %d — butun son, %.2f — ikki xonali aniqlikdagi kasr son. Format shablonidagi belgilar soni argumentlar soniga mos kelishi shart, aks holda Go ogohlantirish chiqaradi.
Foydali format verblari
Eng ko’p ishlatiladigan format belgilarini jadvalda ko’ramiz:
| Verb | Vazifasi | Misol |
|---|---|---|
%s |
satr | "Ruby" → Ruby |
%d |
butun son | 42 → 42 |
%f |
kasr son | 3.14 → 3.140000 |
%t |
mantiqiy | true → true |
%v |
istalgan qiymatning standart ko’rinishi | universal |
%T |
qiymatning turi | int, string |
package main
import "fmt"
func main() {
fmt.Printf("%v %T\n", 42, 42)
fmt.Printf("%v %T\n", "UzbekDevs", "UzbekDevs")
fmt.Printf("%v %T\n", true, true)
}
42 int
UzbekDevs string
true bool
%v — istalgan turdagi qiymatni “standart” ko’rinishda chiqaradi, tur haqida o’ylamasdan tez debug qilishda qulay. %T esa qiymatning aynan qaysi Go turiga tegishli ekanini ko’rsatadi.
Sprintf — satr sifatida formatlash
Sprintf ekranga chiqarmaydi, formatlangan natijani satr sifatida qaytaradi — uni keyinroq ishlatish uchun saqlash mumkin:
package main
import "fmt"
func main() {
xabar := fmt.Sprintf("Foydalanuvchi: %s (%d yosh)", "Aziz", 30)
fmt.Println(xabar)
fmt.Println(len(xabar))
}
Foydalanuvchi: Aziz (30 yosh)
29
Sprintf — Printf bilan bir xil format qoidalariga amal qiladi, farqi shundaki, natija ekranga emas, xabar o’zgaruvchisiga yoziladi. Bu, masalan, xato xabarlarini yoki logларni tuzishda keng qo’llaniladi.