پرش به محتوا

نال گؤسته‌ریجی (بیلگی‌سایار بیلیمی)

ویکی‌پدیادان، آچیق بیلیک‌لیک‌دن

نال گؤسته‌ریجی (اینگیلیسجه: null pointer) بیلگی سایار بیلیمینده، گؤسته‌ریجی‌نین گئچرلی آبجکته باش وورمادیغینی گؤستر‌مک اوچون ساخلانمیش بیر ده‌یه‌ردیر. پروقراملار اوزونلوغو بیلینمه‌ین لیست‌لرین سونونو و یا بعضی عمل‌لرین یئرینه یئتیریله‌مه‌مه‌سی کیمی دوروملاری تمثیل ائتمک اوچون روتین اولاراق نال گؤسته‌ریجیلری قوللانیرلار.

بیر نال گؤسته‌ریجی، باشلاتیلمامیش (ایشه سالینمامیش) بیر گؤسته‌ریجی‌ ایله قاریشدیریلمامالیدیر: بیر نال گؤسته‌ریجی، گئچرلی آبجکته ایشاره ائدن هر هانسی بیر گؤسته‌ریجی‌یله برابر اولمایان قارشیلاشدیرما (مقایسه) آپارماغا گارانتی وئریر. بونونلا بئله‌، دیلدن و تطبیقدن آسیلی اولاراق، باشلاتیلمامیش گؤسته‌ریجینین بئله‌ بیر ضمانتی اولمایا بیلر. باشقا گئچرلی گؤسته‌ریجیلره برابر اولا بیلر؛ و یا نال گؤسته‌ریجیلره برابر اولا بیلر. و یا هر ایکیسینی چئشیدلی واختلاردا ائده بیلر؛ و یا قارشیلاشدیرما تانیملانمامیش بیر داورانیش اولا بیلر.

نال گؤسته‌ریجی آنلاملی بیر آبجکته ایشاره‌ ائتمه‌دیغی اوچون، بو گئچرسیز مموری آدرسینده ساخلانیلان وئری‌لره (دیتا) ال تاپما چالیشماسی، یازیلیمین چالیشما زامانی خطاسی و یا آنیندا چؤکمه‌سی (کرش) ایله سونوجلانا بیلر. یازیلیم ضعیف‌لیکلرینین ان چوخ یایقین تایپ‌لاریندان بیری اولان بو خطایا نال گؤسته‌ریجی خطاسی (اینگیلیسجه: null pointer error) دئییلیر. بو اوزدن نال قاورامینی (کانسپتینی) اورتایا قویان تونی هور اونو "میلیارد دولارلیق یانلیش" آدلاندیردی.

اؤرنک‌لر

[دَییشدیر]

آشاغیداکی گولنگ یازیلیملاما دیلینده یازیلان کود دا، nobody گؤسته‌ریجیسی گئچرلی بیر person آبجکتینه ایشاره ائتمه‌دیغی اوچون، بو گؤسته‌ریجی ایله birthday مئتودو چاغیریلینجا، p.age++ ایشله‌مینده p دئییشکه‌نینین بیر نال گؤسته‌ریجی اولدوغو اوچون، پروقرام کرش ائدیب خطا ایله سونوجلاناجاقدیر.

type person struct {
    age int    
}

func (p *person) birthday() {
    p.age++ // null(nil) pointer error  
}

func main() {
    var nobody *person
    nobody.birthday()
}

بو خطانین اؤنونه گئچیب، پروقرامین چالیشما زامانیندا کرش ائتمه‌سینین قارشیسینی آلماق اوچون، گؤسته‌ریجینی قوللانمادان اؤنجه، اونون گئچرلی بیر آبجکته (مموری آدرسینده ساخلانینان وئریه) ایشاره ائتدیغینی کنترل ائتمک گره‌کیر:

func (p *person) birthday() {
    if p == nil {
        return
    }
    p.age++ 
}

اتک یازی

[دَییشدیر]

قایناقلار

[دَییشدیر]

اینگیلیسجه ویکی‌پدیاسی‌نین ایشلدنلری طرفیندن یارانمیش«Null pointer»، مقاله‌سیندن گؤتورولوبدور. (۲۹ مارس ۲۰۲۴ تاریخینده یوْخلانیلیبدیر).