در این بخش قصد داریم به کلید واژه و شناسه های زبان گو بپردازیم.
1.2.1 کلید واژه #
زبان گو تا نسخه فعلی فقط ۲۵ تا کلید واژه دارد که به شرح زیر ست:
1 | 2 | 3 | 4 | 5 | |
---|---|---|---|---|---|
1 | break | default | func | interface | select |
2 | case | defer | go | map | struct |
3 | chan | else | goto | package | switch |
4 | const | fallthrough | if | range | type |
5 | continue | for | import | return | var |
کلمات کلیدی فوق به ۴ دسته تقسیم میشوند که به شرح زیر است:
- کلمات کلیدی که بصورت گلوبال در بدنه قرار میگیرند «
package, import, type, var, const, func
» - کلمات کلیدی کامپوزیت «
struct, interface, map, chan
» - کلمات کلیدی که در جریان کنترل کد استفاده میشوند «
break, case, continue, default, if, else, for, fallthrough, goto, range, return, switch, select
»
در بخشهای دیگر کتاب ما بطور مفصل به مفاهیم کلمات کلیدی فوق میپردازیم.
1.2.2 شناسهها #
شناسه توکنی است که باید از حروف یونیکد, ارقام یونیکد (اعداد دستهبندی شده در استاندارد ۸.۰ یونیکد) و خط زیرین
ـ
تشکیل شده باشد.
علامت | کاربرد |
---|---|
ـ | نادیده گرفتن |
& | دسترسی به آدرس حافظه |
* | دسترسی مقدار داخل یک خانه حافظه |
1.2.2.1 قوانین شناسهها #
- نامگذاری باید از حروف a-z یا A-Z و یا 0-9 باشد.
- نام شناسهها نباید با اعداد شروع شود.
- نام شناسهها به حروف بزرگ و کوچک حساس است.
- استفاده از کلید واژه ممنوع است.
- هیچ محدودیتی در تعداد حروف نام شناسه وجود ندارد و مطلوبترین حالت ۴ الی ۱۵ حرف است.
// شناسههای معتبر
_geeks23
geeks
gek23sd
Geeks
geeKs
geeks_geeks
// شناسههای نامعتبر
212geeks
if
default
در زبان گو یکسری شناسهها از قبل برای برخی از بخشهای کد تعیین شده است که در زیر میتوانید ببینید:
// Constant (ثابت ها)
true, false, iota, nil
// Types (تایپ ها)
int, int8, int16, int32, int64, uint,
uint8, uint16, uint32, uint64, uintptr,
float32, float64, complex128, complex64,
bool, byte, rune, string, error
// Functions (توابع)
make, len, cap, new, append, copy, close,
delete, complex, real, imag, panic, recover