English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Golangدليلأساسي

Golangتعليماتالتحكم

Golangوظائف&طرق

Golangبنية

Golangقطع&نصوص

Golangكلمات

Golangمؤشرات

Golangواجهات

Golangتوازي

Golangاستثنائيات(Error)

Golangأخرىمتنوعة

مستقرات لغة Go

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

كيفيةالإعلان؟
القيمالثابتةتُعلن مثلالمتغيرات،لكنباستخدامconst كلماتالمفتاحكماقداستخدمتلفظةمحددةلإعلانالقيمالثابتةبأنواعمحددة.لايمكناستخدام:=إعلانالجملة.

package main
import "fmt"
const PI = 3.14
func main() {
    const GFG = "w3codebox"
    fmt.Println("Hello", GFG)
    fmt.Println("Happy", PI, "Day")
    const Correct= true
    fmt.Println("Go rules?", Correct)
}

الإخراج:

Hello w3codebox
Happy 3.14 Day
Go rules? true

القيمالعدديةالغيرالنوعيةوالنوعية:
يشتغلنوعالقيمالثابتةبشكلمثلغيرالقيمالغيرمناسبةالغيرمنقولة،بينمايشتغلقيمالثابتالغيرمنقولةبشكلمثلالنصالمباشرالذييمكناستخدامهمعأنواعمماثلة.يمكناستخدامأوعدماستخدامالنوعلإعلانالقيمالثابتةفيGo.تظهرالنماذجالتاليةالقيمالعدديةالنوعيةوالغيرالنوعيةالمسمىةوالغيرالنوعيةالغيرالمسمىة.

const untypedInteger          = 123
const untypedFloating typed   = 123.12
const typedInteger  int             = 123
const typedFloatingPoint   float64  = 123.12

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

  • القيمالعددية(القيمالصحيحة،القيمالمرقمة،القيمالمعقدة)

  • النصالمباشر

  • القيمالصحيحة

القيمالعددية:
القيمالعدديةهيقيمةعاليةالدقة。Goلغةثابتةالنوع،لايسمحبمزجعملياتأنواعالرقم.لايمكنجعلfloat64إضافة إلىint،لايمكنحتىint32 إضافة إلىint. على الرغم من، كتابة1e6 * time.Second أوmath.Exp(1)حتى 1 << ('\ t'+ 2.0) كلها قانونية. في Go، لا تختلف القيم الثابتة عن المتغيرات، بل تشبه الأرقام العادية.

يمكن أن تكون القيم الثابتة من ثلاثة أنواع، وهي الكسر، القيم المثلثية، والقيم المركبة

قيم الكسر الكامل:

  • المقدمة تحدد قاعدة العدد: عشري 0x أو 0X، ثماني 0، عشري 0.

  • يمكن أن يكون النص الاسمي للعدد الكامل أيضًاالجذر، وهي مجموع U (المكبرة) وL (المكبرة) على التوالي، مما يعني الكسر غير الموقع والموقع الطويل.

  • يمكن أن يكونقيم ثابتة عشري، ثماني أو عشري.

  • يمكن أن يحتوي int على 64 بت من الرقم الكامل، أحياناً أقل.

هذه هيقيم الكسربعض الأمثلة:

85                           /* عشري */
0213                           /* ثماني */
0x4b                           /* عشري */
30                           /* int */
30u                           /* unsigned int */
30l                           /* long */
30ul                           /* unsigned long */
212                           /* قانوني */
215u                           /* قانوني */
0xFeeL                       /* قانوني */
078                           /* غير قانوني: 8 ليسرقما عشريا */
032UU                       /* غير قانوني: لا يمكن تكرار الرقم بعد الرمز */

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

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

قيم المثلثية المتنقلة:

  • القيم المثلثية تحتوي علىجزء الكامل، نقطة عشرية، جزء عشري، وجزء النسبة.

  • يمكن التعبير عن القيم المثلثية باستخدام الشكل العشري أو الشكل الأساسي.

  • بالرغم منعند التعبير عنها في شكل عشري، يجب أن يشمل نقطة عشرية، النسبة، أو كلاهما.

  • وعند استخدامالنسبةعند التعبير عنها في شكل، يجب أن يشمل جزء الكامل، الجزء العشري أو كلاهما.

هذه أمثلة على قيم ثابتة من النوع المثلثي

3.14159                       /* قانوني */
314159E-5L                   /* قانوني */
510E                         /* غير قانوني: مؤشر غير كامل */
210f /* illegal: no decimal or exponent */
.e55 /* illegal: missing integer or fraction */

String literals

  • Go supports two types of string literals, namely "" (double quote style) and "" (backtick style).

  • Strings cancascadingwith+and+ =Operators.

  • Strings contain characters similar to character literals: plain characters, escape sequences, and universal characters, which are untyped.

  • The zero value of the string type is an empty string, which can be represented by or with text. " " ''

  • Using==, !=and (used for comparing the same type) etc. operators,Comparable string types

Syntax

type _string struct {
    elements *byte // underlying bytes
    len int // number of bytes
}

Example of displaying string literals:

"hello, ",

w3codebox

"hello, " "geeks" "forgeeks"

Here, all three statements above are similar, that is, they have no specific type.
Example:

package main
import "fmt"
func main() {
    const A = "GFG"
    var B = "w3codebox"
    
    // concatenate strings
    var helloWorld = A + " " + B
    helloWorld += "!"
    fmt.Println(helloWorld) 
    
    // compare strings
    fmt.Println(A == "GFG")   
    fmt.Println(B < A) 
}

الإخراج:

GFG w3codebox!
صحيح
false

Boolean constants:
Boolean constants are similar to string constants. They follow the same rules as string constants, the difference being that they have two untyped constants true and false.

package main
import "fmt"
const Pi = 3.14
func main() {
    const trueConst = true
    type myBool bool
    var defaultBool = trueConst // allowed
    var customBool myBool = trueConst // allowed
    // defaultBool = customBool // not allowed
    fmt.Println(defaultBool)
    fmt.Println(customBool)
}

الإخراج:

صحيح
صحيح