كيفية استخدام الثوابت في Golang

ما هو الثابت أو Const في Golang ؟ إليك ما تحتاج إلى معرفته حول استخدام الثوابت في Go .

كما يوحي الاسم، ثابت يعني ثابت. والشيء نفسه ينطبق على لغات البرمجة، أي بمجرد تعريف قيمة الثابت، لا يمكن تعديلها أكثر من ذلك. يمكن أن يكون هناك أي نوع أساسي من البيانات الثابتة مثل ثابت صحيح، أو ثابت ديناميكي، أو ثابت حرفي، أو سلسلة.

كيفية استخدام الثوابت في Golang

كيفية الإعلان: يتم الإعلان عن الثوابت مثل المتغيرات ولكن استخدم كلمة const كبادئة لإعلان الثوابت بنوع بيانات محدد. لا يمكن إعلان الثوابت باستخدام صيغة ": " = ".

على سبيل المثال:

package main

import "fmt"

const PI = 3.14

func main() 
{
	const GFG = "Quantrimang"
	fmt.Println("Hello", GFG)

	fmt.Println("Happy", PI, "Day")

	const Correct= true
	fmt.Println("Go rules?", Correct)
}

نتيجة:

Hello Quantrimang
Happy 3.14 Day
Go rules? true

أشياء يجب معرفتها عن الثوابت في Golang

الثوابت الرقمية بدون نوع ومع النوع

تتصرف الثوابت المكتوبة مثل المتغيرات غير القابلة للتغيير والتي يمكنها التفاعل فقط مع نفس الأنواع، وتتصرف الثوابت غير المكتوبة مثل الثوابت الحرفية التي يمكنها التفاعل مع أنواع مماثلة. يمكن إعلان الثوابت بنوع أو بدون نوع في Go. تُظهر الأمثلة التالية الثوابت الرقمية المكتوبة وغير المكتوبة، والمسماة وغير المسماة.

const untypedInteger          = 123
const untypedFloating          = 123.12

const typedInteger  int             = 123
const typedFloatingPoint   float64  = 123.12

فيما يلي قائمة الثوابت في لغة Go:

  • الثوابت (الثوابت الصحيحة، الثوابت الديناميكية، الثوابت المعقدة)
  • سلسلة من الأحرف
  • ثابت منطقي

عدد ثابت

الثوابت الرقمية هي قيم ذات دقة عالية. نظرًا لأن Go هي لغة ذات نوع ثابت، فهي لا تسمح بالعمليات التي تجمع الأنواع الرقمية. لا يمكنك الإضافة float64إلى int، أو حتى int32إلى int. ومع ذلك فإنه لا يزال من الصحيح أن نكتب 1e6*time.Secondأو math.Exp(1)أو حتى 1<>. في Go، تتصرف الثوابت، على عكس المتغيرات، مثل الأرقام العادية.

الثوابت الرقمية هي من ثلاثة أنواع:

  1. عدد صحيح
  2. النقطة العائمة
  3. معقد

ثابت صحيح:

  • تحدد البادئة القاعدة: 0x أو 0X للسداسي عشر، و0 للثماني، ولا شيء للعشري.
  • يمكن أن يحتوي أيضًا الحرف الصحيح على لاحقة عبارة عن مزيج من U (أحرف كبيرة) وL (أحرف صغيرة)، للإشارة إلى غير موقّع وطويل على التوالي.
  • يمكن أن يكون ثابتًا عشريًا أو ثمانيًا أو سداسيًا عشريًا.
  • يمكن لـ int تخزين ما يصل إلى عدد صحيح مكون من 64 بت وأحيانًا أقل.

فيما يلي بعض الأمثلة على الثوابت الصحيحة:

85 /* thập phân */
0213 /* bát phân */
0x4b /* thập lục phân */
30 /* int */
30u /* unsigned int */
30l /* long */
30ul /* unsigned long */
212 /* Hợp lệ */
215u /* Hợp lệ */
0xFeeL /* Hợp lệ */
078 /* Không hợp lệ: 8 không phải là chữ số bát phân */
032UU /* Không hợp lệ: không thể lặp lại hậu tố */

الثوابت المعقدة:

تعمل الثوابت المعقدة بشكل مشابه جدًا لثوابت النقطة العائمة. هو زوج مرتب أو زوج حقيقي من الثوابت الصحيحة (أو المعلمات). ويتم فصل الثوابت بفواصل، ويتم وضع أزواج الأرقام بين قوسين. الثابت الأول هو الجزء الحقيقي، والثابت الثاني هو الجزء التخيلي. يستخدم الثابت المعقد COMPLEX*8، 8 بايت من مساحة التخزين.

على سبيل المثال:

(0.0, 0.0) (-123.456E+30, 987.654E-29)

ثابت النوع الديناميكي:

  • تحتوي ثوابت الأعداد الحقيقية على جزء صحيح، وجزء عشري، وجزء كسري، وجزء أس.
  • يمكن تمثيلها على أنها عدد حقيقي ثابت في شكل عشري أو أسي.
  • عندما يتم التعبير عنها في شكل عدد عشري، يجب أن تتضمن نقطة عشرية، أو أس، أو كليهما.
  • وعندما يتم التعبير عنها في صورة أسي، فيجب أن تتضمن جزءًا صحيحًا، أو جزءًا كسريًا، أو كليهما.

على سبيل المثال:

3.14159 /* Hợp lệ */
314159E-5L /* Hợp lệ */
510E /* Không hợp lệ: số mũ không đầy đủ */
210f /* Không hợp lệ: không có số thập phân hoặc số mũ */
.e55 /* Không hợp lệ: thiếu số nguyên hoặc phân số */

سلسلة من الأحرف

  • يدعم Go نوعين من الأحرف النصية، أي ” ”(نمط الاقتباس المزدوج) و ‘ ‘(نمط الاقتباس العكسي).
  • يمكن ربط السلاسل باستخدام المشغلين +and +=.
  • تحتوي السلاسل على أحرف مشابهة للأحرف الحرفية: أحرف عادية، وتسلسلات إفلات، وأحرف عالمية. وهذه شخصية بلا أسلوب.
  • القيمة الصفرية لأنواع السلسلة هي السلسلة الفارغة، والتي يمكن تمثيلها بواسطة ” ”أو ”في الأحرف.
  • يمكن مقارنة جميع أنواع السلاسل باستخدام عوامل مثل ==و !=(لمقارنة الأنواع المتشابهة)

بناء الجملة:

kiểu _string struct {
các phần tử *byte // các byte cơ bản
len int // số byte
}

على سبيل المثال:

"hello, quantrimang" 

"hello, \ 

quantrimang" 

"hello, " "quan" "trimang" 

هنا، العبارات الثلاث متشابهة، أي أنها لا تحتوي على نوع محدد.

على سبيل المثال:

package main

import "fmt"

func main()
{
	const A = "GFG"
	var B = "GeeksforGeeks"
	
	// Chuỗi Concat.
	var helloWorld = A+ " " + B
	helloWorld += "!"
	fmt.Println(helloWorld) 
	
	// Chuỗi so sánh.
	fmt.Println(A == "GFG") 
	fmt.Println(B < a)="">

نتيجة:

GFG Quantrimang!
true
false

تعقيد الوقت: O(1)
الفضاء المساعد: O(1)

ثابت منطقي

الثوابت المنطقية تشبه ثوابت السلسلة. يتم تطبيق نفس القواعد على ثوابت السلسلة. الفرق الوحيد هو أنه يحتوي على اثنين من الثابتين بدون نوع trueو false.

package main

import "fmt"

const Pi = 3.14

func main() 
{
	const trueConst = true
	
	// Định nghĩa kiểu bằng từ khóa type
	type myBool bool 
	var defaultBool = trueConst // được phép
	var customBool myBool = trueConst // được phép
	
	// defaultBool = customBool // không được phép
	fmt.Println(defaultBool)
	fmt.Println(customBool) 
}

نتيجة:

true
true

تعقيد الوقت: O(1)
الفضاء المساعد: O(1)

الثوابت في Go: تحتوي Go على ثوابت أحرفية وسلاسل وقيم منطقية وأرقام. يعلن Const عن قيمة ثابتة. يمكن أن يحدث بيان constعندما يكون هناك متغير وبالتالي، تنفيذ العمليات الحسابية دون أي دقة ثابتة.

// Minh họa hằng số bằng cách dùng go.
package main

import (
	"fmt"
	"math"
)

const s string = "Quantrimang"

func main() {
	fmt.Println(s)

	const n = 5

	const d = 3e10 / n
	fmt.Println(d)

	fmt.Println(int64(d))

	fmt.Println(math.Sin(n))
}

نتيجة:

Quantrimang
6e+09
6000000000
-0.9589242746631385

تعقيد الوقت: O(1)
الفضاء المساعد: O(1)

إذا كنت تريد تعريف ثوابت متعددة في وقت واحد، فيمكنك القيام بذلك باستخدام كتلة من الأقواس كما هو موضح أدناه.

package main

import "fmt"

const (
	GFG	 = "Quantrimang"
	Correct = true
	Pi	 = 3.14
)

// Hàm chính
func main() {

	fmt.Println("value of GFG : ", GFG)

	fmt.Println("value of Correct : ", Correct)

	fmt.Println("value of Pi : ", Pi)
}

نتيجة:

value of GFG :  Quantrimang
value of Correct :  true
value of Pi :  3.14

اترك تعليقاً

أعمال جانبية مربحة بالفعل في عام 2026: 7 خيارات واقعية والمفاضلات التي يجب معرفتها

أعمال جانبية مربحة بالفعل في عام 2026: 7 خيارات واقعية والمفاضلات التي يجب معرفتها

قارن بين المشاريع الجانبية الواقعية لعام 2026 من حيث تكلفة البدء والرسوم والمرونة والتحكم في الدخل، مع التوجيهات الضريبية الحالية بشأن عمليات الاحتيال من المصادر الرسمية.

بيئة العمل عن بعد المريحة في عام 2026: حسّن مكتبك المنزلي دون الإفراط في الشراء

بيئة العمل عن بعد المريحة في عام 2026: حسّن مكتبك المنزلي دون الإفراط في الشراء

قم بتحسين بيئة العمل في مكتبك المنزلي من خلال إرشادات OSHA و NIOSH الحالية بشأن ملاءمة الكرسي، وارتفاع الشاشة، وإعداد الكمبيوتر المحمول، والإضاءة، والحركة.

لماذا يُعدّ الذكاء العاطفي مهمًا في القيادة - وكيفية تطويره

لماذا يُعدّ الذكاء العاطفي مهمًا في القيادة - وكيفية تطويره

تعرف على أهمية الذكاء العاطفي في القيادة، وأين يكون أكثر فائدة، وكيفية تعزيزه، وكيفية معرفة ما إذا كان نهجك ناجحًا.

كيفية الانتقال إلى مهنة في مجال التكنولوجيا بدون شهادة جامعية: خارطة طريق تركز على النتائج لعام 2026

كيفية الانتقال إلى مهنة في مجال التكنولوجيا بدون شهادة جامعية: خارطة طريق تركز على النتائج لعام 2026

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

بناء علامة تجارية شخصية على لينكدإن في عام 2026: ما الذي لا يزال فعالاً، وما الذي تغير، وما الذي يجب تجاهله

بناء علامة تجارية شخصية على لينكدإن في عام 2026: ما الذي لا يزال فعالاً، وما الذي تغير، وما الذي يجب تجاهله

قم ببناء علامة تجارية شخصية موثوقة على LinkedIn في عام 2026 من خلال الملف الشخصي الحالي والمحتوى والنشرة الإخبارية والتحليلات والتحقق من الهوية وإرشادات الظهور من LinkedIn.

الاستقالة الهادئة مقابل الفصل الهادئ في عام 2026: ما الذي يتغير فعلاً في بيئة العمل؟

الاستقالة الهادئة مقابل الفصل الهادئ في عام 2026: ما الذي يتغير فعلاً في بيئة العمل؟

الاستقالة الهادئة والفصل الهادئ مصطلحان شائعان، وليسا تشخيصين. تعرّف على ما هو مؤكد، وما يعتمد على السياق، وما يمكن للموظفين والمدراء فعله لاحقًا.

The Rise of the Fractional Executive: When Part-Time C-Suite Leadership Makes Sense

The Rise of the Fractional Executive: When Part-Time C-Suite Leadership Makes Sense

Fractional executives offer senior leadership without a full-time hire. Learn when the model works, what to ask, and the risks to manage.

كيفية التفاوض على زيادة الراتب خلال مراجعات الأداء في الربع الرابع: دليل عملي لاتخاذ القرارات حتى عام 2026

كيفية التفاوض على زيادة الراتب خلال مراجعات الأداء في الربع الرابع: دليل عملي لاتخاذ القرارات حتى عام 2026

قم بإعداد طلب زيادة أقوى للربع الرابع مع بيانات الأجور الحالية، وخيارات التوقيت، ومفاضلات التعويض، ونصوص للنتائج الإيجابية أو الجزئية أو السلبية.

6 مهارات عالية الدخل يمكنك البدء بتعلمها قبل نهاية عام 2026

6 مهارات عالية الدخل يمكنك البدء بتعلمها قبل نهاية عام 2026

اختر مهارة ذات دخل مرتفع يمكنك البدء بها بشكل واقعي قبل نهاية عام 2026، مع بيانات الأجور الحالية، وأولويات التعلم، وفحص ذاتي عملي.

إتقان جدول العمل الهجين: إطار عمل عملي فعال

إتقان جدول العمل الهجين: إطار عمل عملي فعال

قم ببناء جدول عمل هجين يرتكز على المهام، وتداخل مهام الفريق، والنتائج القابلة للقياس. اطلع على نماذج الأنماط، وعلامات التحذير، ومتى يجب تعديل خطتك.