في لغات البرمجة، يتم استخدام المعرفات بالضبط لما يوحي به اسمها. بعبارة أخرى، المعرفات هي أسماء محددة من قبل المستخدم للمكونات في البرنامج. في لغة Go، يمكن أن يكون المعرف اسم متغير، أو اسم وظيفة، أو ثابت، أو تسمية بيان، أو اسم حزمة أو نوع. فيما يلي الأشياء التي تحتاج إلى معرفتها حول استخدام Identifier في Golang.

على سبيل المثال:
package main
import "fmt"
func main() {
var name = "Quantrimang.com"
}
يتوفر إجمالي ثلاثة معرفات في المثال أعلاه:
- الرئيسية : اسم الحزمة
- main : اسم الوظيفة
- الاسم : اسم المتغير
قواعد تعريف المتغيرات: هناك بعض القواعد الصالحة لتحديد متغيرات Go الصالحة. من الضروري اتباع هذه القواعد، وإلا سنحصل على أخطاء في التجميع.
- يجب أن تبدأ أسماء المعرفات بحرف أو بعلامة سفلية (_). ويمكن أن يحتوي الاسم على الأحرف 'a-z' أو 'A-Z' أو الأرقام 0-9 بالإضافة إلى الحرف '_'.
- لا يمكن أن يبدأ اسم المعرف برقم.
- أسماء المعرفات حساسة لحالة الأحرف.
- لا يُسمح باستخدام الكلمات الرئيسية كمعرفات.
- لا يوجد حد لطول اسم المعرف، ولكن يوصى بطول مثالي يتراوح من 4 إلى 15 حرفًا.
على سبيل المثال:
// Valid identifiers:
_geeks23
geeks
gek23sd
Geeks
geeKs
geeks_geeks
// Invalid identifiers:
212geeks
if
default
ملحوظة:
في لغة Go، هناك بعض المعرفات المعلنة مسبقًا والمتاحة للثوابت والأنواع والوظائف. لا يتم الاحتفاظ بهذه الأسماء، ويُسمح لك باستخدامها في الإعلانات. فيما يلي قائمة بالمعرفات المعلنة مسبقًا:
Cho hằng số:
true, false, iota, nil
Cho các kiểu:
int, int8, int16, int32, int64, uint,
uint8, uint16, uint32, uint64, uintptr,
float32, float64, complex128, complex64,
bool, byte, rune, string, error
Cho các hàm:
make, len, cap, new, append, copy, close,
delete, complex, real, imag, panic, recover
- تُسمى المتغيرات التي يتم تمثيلها بواسطة حرف السفل (_) بمعرفات فارغة. يتم استخدام هذا المتغير كعلامة نائبة مجهولة بدلاً من معرف عادي وله معنى خاص في الإعلانات، وكعامل، وفي التعيينات.
- المتغير الذي يمكن الوصول إليه من حزمة أخرى يسمى معرفًا مُصدَّرًا. المعرفات المصدرة هي تلك التي تتوافق مع الشروط التالية:
- يجب أن يكون الحرف الأول من اسم المعرف المُصدَّر حرفًا كبيرًا من أحرف Unicode.
- يجب الإعلان عن المعرف داخل كتلة الحزمة أو كاسم لمتغير أو دالة أو نوع أو طريقة داخل تلك الحزمة.
في المثال أدناه، يحتوي الملف file1.go على متغير مُصدَّر يُسمى ExportedVariable ، والذي يمكن الوصول إليه داخل نفس الملف. ويقوم أيضًا باستيراد حزمة file2 والوصول إلى المتغير المُصدَّر AnotherExportedVariable من file2.go . من خلال تشغيل الأمر go run file1.go ، سيتم طباعة قيمة ExportedVariable ("Hello, World!") من file1.go وقيمة AnotherExportedVariable ("Greetings from file2!") من file2.go . يوضح هذا مفهوم إمكانية الوصول إلى المتغيرات المصدرة من حزمة أخرى في Go.
مثال على الملف 2:
//file2.go
package file2
// Exported variable
var AnotherExportedVariable = "Greetings from file2!"
مثال على الملف 1:
// file1.go
package main
import (
"fmt"
"github.com/yourusername/project/file2"
)
// Biến được xuất
var ExportedVariable = "Hello, World!"
func main() {
// Truy cập biến đã xuất trong cùng file
fmt.Println(ExportedVariable)
// Truy cập biến đã xuất từ gói khác
fmt.Println(file2.AnotherExportedVariable)
}
نتيجة:
Hello, World!
Greetings from file2!