استفاده از متغیرها

در مثال زیر نحوه تعریف و مقدار دهی متغیرها نمایش داده شده است :

  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.% چیست؟ بدین معناست که عدد را تا دو رقم بعد از اعشار نمایش بده.