الأساسيات

الثوابت const

الثوابت شبيهة جداً بالمتغيرات إلا أن قيمتها الأولية ثابتة لايمكن تعيينها أو تغييرها

  • تعيين الثوابت

    ويمكن تعيين الثوابت عبر الكلمة المفتاحية const ومن ثم اسم الثابت وثم قيمته

مثال

package main

func main() {
const a = 55
const website = "ArGoLang.com"
}

ملاحظة : قيمة الثوابت يتم حفظها أثناء مرحلة تجميع البرنامج Compile-time وليس في مرحلة عمل البرنامج runtime .

مثال على تعيين ثابت يأخذ قيمته أثناء مرحلة عمل البرنامج runtime سينتج رسالة خطأ !

package main

import (
"fmt"
"math"
)

func main() {
//ERROR : NOT ALLOWED !
const b = math.Sqrt(4)
}

والنتيجة ستكون فشل البرنامج مع رسالة الخطأ التالية

error main.go:11: const initializer math.Sqrt(4) is not a constant.
  • أنواع بيانات الثوابت

بالحالة الافتراضية, في لغة غو, الثوابت ليس لها أنواع untyped, حيث أن قيمتها يمكن أن تكون نصية او عددية صحيحة او عشرية او منطقية بوليانية او غيرها ..

ولكن ماذا لو أردت أن يكون للثابت نوع بيانات محدد explicit datatype ؟

نعم, يمكن فعل ذلك بسهولة كما في المثال التالي

package main

import (
"fmt"
)

func main() {
const name string = "Firas"
const age int = 25
}
ملاحظة: يمكنك تشغيل أكواد وأمثلة لغة غو من خلال GoLang Playground أو GoPlay.Space .

نبذة عن الكاتب

Firas M. Darwish

Software Engineer, PHP/Laravel, C#, GoLang, founder of ArGoLang.com & others ..

شاركنا رأيك :)