استفاده از متغیرها
در مثال زیر نحوه تعریف و مقدار دهی متغیرها نمایش داده شده است :
1: package main 2: 3: import "fmt" 4: 5: func main() { 6: 7: //Declare variables 8: var num1 int 9: var num2 int 10: var num3 float32 11: var num4 float32 12: var boolVal bool 13: var myChar string 14: 15: //Assign values to variables 16: num1 = 1 17: num2 = 2 18: num3 = 3.54 19: num4 = 4.12 20: boolVal = true 21: myChar = "R" 22: 23: //Show the values of the variables 24: fmt.Printf("num1 = %d \n", num1 ) 25: fmt.Printf("num3 = %.2f \n", num3 ) 26: fmt.Printf("num4 = %.2f \n", num4 ) 27: fmt.Printf("boolVal = %t \n", boolVal) 28: fmt.Printf("num2 = %d \n", num2 ) 29: fmt.Printf("myChar = %s \n", myChar ) 30: }
num1 = 1 num3 = 3.54 num4 = 4.12 boolVal = true num2 = 2 myChar = "R"
تعریف متغیر
برای تعریف متغیر از دو کلمه var به صورت زیر استفاده میشود:
var identifier type
var یک کلمه کلیدی، identifier نام و type نوع متغیر است. در این روش ما صراحتاً نوع متغیر را ذکر میکنیم. دو روش دیگر هم برای تعریف متغیر وجود دارد که در زیر به آنها اشاره شده است :
var identifier = value or identifier := value
در هر دو روش بالا، باید فوراً بعد از علامت مساوی مقدار متغیر را هم بنویسیم، تا کامپایلر به صورت خودکار و با توجه به مقدار نوع متغیر را تشخیص دهد ولی در روش اول همانطور که در کد ابتدای درس میبینیم، ما اول متغیرها را در خطوط 13-8 تعریف و سپس در خطوط 21-16 مقداردهی کردهایم. پس خطوط 21-8 کد بالا را میتوان به صورت زیر هم خلاصه کرد:
var num1 = 1 var num2 = 2 var num3 = 3.54 var num4 = 4.12 var boolVal = true var myChar = "R"
یا
num1 := 1 num2 := 2 num3 := 3.54 num4 := 4.12 boolVal := true myChar := "R"
تعریف متغیر با مقدار دهی متغیرها متفاوت است. تعریف متغیر یعنی انتخاب نوع و نام برای متغیر (خطوط 13-8) ولی مقدار دهی یعنی اختصاص یک مقدار به متغیر (خطوط 21-16). یک رو دیگر برای تعریف چند متغیر به صورت زیر است:
var ( num1 = 1 num2 = 2 num3 = 3.54 num4 = 4.12 boolVal = true myChar = "R" )
نامگذاری متغیرها
- نام متغیر باید با یک حرف یا زیرخط و به دنبال آن حرف یا عدد شروع شود.
- نمیتوان از کاراکترهای خاص مانند # ،% ،& یا عدد برای شروع نام متغیر استفاده کرد مانند 2numbers.
- نام متغیر نباید دارای فاصله باشد. برای نامهای چند حرفی میتوان به جای فاصله از علامت زیرخط یا _ استفاده کرد.
نامهای مجاز :
num1 myNumber studentCount total first_name _minimum num2 myChar average amountDue last_name _maximum name counter sum isLeapYear color_of_car _age
نامهای غیر مجاز :
123 #numbers# #ofstudents 1abc2 123abc $money first name ty.np my number this&that last name 1:00
اگر به نامهای مجاز در مثال بالا توجه کنید متوجه قراردادهای به کار رفته در نامگذاری آنها خواهید شد. یکی از روشهای نامگذاری، نامگذاری کوهان شتری است. در این روش که برای متغیرهای دو کلمهای به کار میرود، اولین حرف اولین کلمه با حرف کوچک و اولین حرف دومین کلمه با حرف بزرگ نمایش داده میشود مانند : myNumber توجه کنید که اولین حرف کلمه Number با حرف بزرگ شروع شده است. مثال دیگر کلمه numberOfStudents است. اگر توجه کنید، بعد از اولین کلمه، حرف اول سایر کلمات با حروف بزرگ نمایش داده شده است.
به متد ()Printf در خطوط (29-24) توجه کنید. این متد دو آرگومان قبول میکند. آرگومانها اطلاعاتی هستند که متد با استفاده از آنها کاری انجام میدهد. آرگومانها به وسیله کاما از هم جدا میشوند. آرگومان اول یک رشته قالب بندی شده است و آرگومان دوم مقداری است که توسط رشته قالب بندی شده مورد استفاده قرار میگیرد. اگر به دقت نگاه کنید، در داخل رشته قالب بندی شده، علامت % به همراه کاراکترهایی آمده است. این ترکیب (کاراکتر و %) با مقدار آرگومان بعد از رشته جایگزین میشوند. برای درک بهتر، به مثال زیر که در آن از 4 جانگهدار استفاده شده است توجه کنید:
fmt.Printf("The values are %d, %s, %t, and %f.", intvalue, stringvalue, boolvalue, floatvlue)
اما از کاراکترها چه زمانی باید استفاده شود؟ از کاراکتر d به همراه % برای نمایش اعداد صحیح، از s برای رشته، از t برای مقادیر منطقی یعنی true و false و از f برای نمایش اعداد اعشاری استفاده میشود. ممکن است که این سؤال برایتان پیش آمده باشد که معنای 2f.% چیست؟ بدین معناست که عدد را تا دو رقم بعد از اعشار نمایش بده.