English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
كمايُشيرإلىاسم 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) }
الإخراج:
صحيح صحيح