لغة Go بالأمثلة: الثوابت (const)

تدعم Go الثوابت المحرفية والنصية والمنطقية والعددية.

package main
import (
    "fmt"
    "math"
)

تصرّح const عن قيمة ثابتة.

const s string = "constant"
func main() {
    fmt.Println(s)

يمكن أن تظهر عبارة const أيضًا داخل جسم الدالة.

    const n = 500000000

تُجري تعبيرات الثوابت العمليات الحسابية بدقة غير محدودة.

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

لا يكون للثابت العددي نوع حتى يُسند إليه نوع، كما يحدث مثلًا عند إجراء تحويل صريح.

    fmt.Println(int64(d))

يمكن إسناد نوع إلى عدد باستخدامه في سياق يتطلب نوعًا، مثل إسناده إلى متغير أو تمريره إلى دالة. فمثلًا، تتوقع math.Sin هنا قيمة من النوع float64.

    fmt.Println(math.Sin(n))
}
$ go run constant.go 
constant
6e+11
600000000000
-0.28470407323754404

المثال التالي: .