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

نال گؤسته‌ریجی (اینگیلیسجه: 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»، مقاله‌سیندن گؤتورولوبدور. (۲۹ مارس ۲۰۲۴ تاریخینده یوْخلانیلیبدیر).