Skip to content

Konsoldan ma'lumot kiritish

Ba'zi holatlarda o'zgaruvchilarni o'zida static ma'lumot saqlash yetarli bo'lmaydi. Shunday holatlarda foydalanuvchidan ma'lumot kiritishini so'rashimiz mumkin. Bu usulni o'zbek tilida ekrandan ma'lumot kiritish deb aytsak bo'ladi.

Misol:

package main

import "fmt"

func main() {
    var data int
    fmt.Print("Kiriting: ")
    fmt.Scan(&data)
    fmt.Println("data = ", data)
}

Bu misolda dastur ishga tushirilganidan so'ng, Kiririting: so'zi ekranga chop qilinadi va dastur biz ma'lumot kiritishimizni kutadi. Ma'lumot kiritilganidan so'ng 9-qatorda ma'lumotni ekarga chiqaradi. Dasturimizni umumiy mantiqiy ishlashi tushunarli bo'ldi, endi dasturimizni texnik jihatdan ya'ni kodimizni taxlil qilsak ham bo'ladi.

Dasturimizni 7-qatorigacha menimcha tushunarli, 6-qator ozroq tushunarsiz bo'lishi mumkin chunki biz oldingi misollarimizda o'zgaruvchini e'lon qilib unga qiymat bergan edik. Bu yerda esa unday emas? Albatta bu usul ozroq sizga tushunarsiz bo'lishi mumkin lekin tushuntirishga harakat qilaman. var data int bilan o'zgaruvchini e'lon qildik. Bu o'zgaruvchi kiritilgan ma'lumotni qabul qilish uchun oldindan e'lon qilindi. 7-qatorda foydalanuvchiga tushunarli bo'lishi uchun biz ma'lumot kiritishini so'rayapmiz. 8-qatorda esa bu biz uchun bugungi mavzu asosiy qismi. fmt paketi Scan funksiyasi ekrandan ma'lumot olish uchun hizmat qiladi. fmt.Scan(&data) ushbu buyruq bilan biz Scan bilan ekrandan ma'lumotni ol va data o'zgaruvchisiga ber deyapmiz. data o'zgaruvchisi ma'lumotni qabul qilib oladi va 9-qatorda ekranga chop qilinadi. Yana bir qism tushunarsiz bo'lishi mumkin, bu Scan funksiyasiga qiymat sifatida berilgan data o'zgaruvchisidan oldin yozilgan & belgi. Bu belgi xotira manzilini bildiradi ya'ni Scan qabul qilib olgan qiymatni data o'zgaruvchisi joylashgan xotiraga maziliga yuklash jarayoni bo'layapdi.

Yana bir misol ko'rsak, quyidagi misolimizda boshqa turdagi ma'lumot kiritishni ko'rib chiqamiz.

package main

import "fmt"

func main() {
    var ism string
    fmt.Print("Ismingizni kiriting: ")
    fmt.Scan(&ism)
    fmt.Printf("Salom %s! Xush kelibsiz!\n", ism)
}

Yuqoridagi dasturni ishlatib ko'rib tushunishga harakat qiling. Quyida yana bir misol ko'ramiz, bu misolimizda bir nechta qiymat kiritishni o'rganamiz.

package main

import "fmt"

func main() {
    var ism string
    var hozirgi_yil int = 2024
    var t_yil int
    var yosh int
    fmt.Print("Ismingizni kiriting: ")
    fmt.Scan(&ism)
    fmt.Print("Tug'ilgan yilingizni kiriting: ")
    fmt.Scan(&t_yil)
    yosh = hozirgi_yil - t_yil
    fmt.Printf("Salom %s! Xush kelibsiz!\nSizni yoshingiz %d\n", ism, yosh)
}

Menimcha bu mavzu ham tushunarli bo'ldi. Eng yaxshi o'rganish usuli bu amaliyot! Shuning uchun ko'rsatgan misollarimizni ishlatib ko'ring, qiymatlarini o'zgartiring, qo'shimchalar qo'shing qo'rqmang kompyuteriz buzilib qolmaydi :). Keyingi darsda ko'rishguncha...