Darsliklar Go Lang Chiqarish operatori

Go Lang Go Lang Chiqarish operatori

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 paketiGo standart kutubxonasining kirish/chiqish formatlashga mo’ljallangan qismi. Println avtomatik bo’shliq va yangi qator qo’shadi, Printf esa 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 4242
%f kasr son 3.143.140000
%t mantiqiy truetrue
%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

SprintfPrintf 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.