حامد

حامد

.4هفته

@hamed

فرق null با nil چیه؟

شاید شنیده باشید که nil توی golang معادل null توی بقیه زبون هاست. ولی این تصور اشتباهیه.

توی بسیاری از زبون های برنامه نویسی، null به معنی (هیچی) هست. ولی توی golang ما مفهومی به اسم (هیچی) نداریم، بلکه هر تایپی در صورتی که مقدار دهی نشه، بهش zero value خاص خودش تعلق میگیره. مثلا برای int, زیرو ولیو 0 هست و برای string ها zero value یه متن خالی("") هست. Zero value مربوط به referenced type ها هم nill هست، referenced type ها شامل

Pointer

Slice

Map

Function

Channel

Interface

هستن.