درس سوم برنامه نویسی گولنگ
درس سوم برنامه نویسی گولنگ در مورد متغیرها و ثابتها می باشد که انواع مختلفی دارند و دارای یک سری قواعد هستند که برای استفاده از آن ها باید درنظر گرفت. برای یادگیری زبان برنامه نویسی گولنگ می توانید به سایت آموزش برنامه نویسی در کرج مراجعه کنید و به صورت کاملا رایگان آن را یادبگیرید.
متغیر
متغیرها محفظه هایی برای ذخیره مقادیر داده ها هستند. در Go، انواع مختلفی از متغیرها وجود دارد، به عنوان مثال: int float32 ، string ، bool برای ایجاد متغیر در این زبان دو راه برای تعریف متغیر وجود دارد:
۱) با کلمه کلیدی var : از کلمه کلیدی var و به دنبال آن نام و نوع متغیر استفاده کنید.
Syntax
var variablename type = value
توجه: همیشه باید نوع یا مقدار (یا هر دو) را مشخص کنید.
۲) با علامت “=:” : از علامت =: استفاده کنید و به دنبال آن مقدار متغیر را بنویسید.
Syntax
variablename := value
نکته : در این حالت، نوع متغیر از مقدار استنباط میشود (یعنی کامپایلر بر اساس مقدار، نوع متغیر را تعیین میکند).
نکته : نمی توان یک متغیر را با استفاده از := ، بدون اختصاص مقداری به آن اعلام کرد.
اعلان متغیر با مقدار اولیه
اگر مقدار یک متغیر از ابتدا مشخص باشد، می توانید متغیر را اعلام کرده و در یک خط به آن مقدار اختصاص دهید:
package main
import (“fmt”)
}()func main
var student1 string = “John” //type is string
var student2 = “Jane” //type is inferred
x := 2 //type is inferred
fmt.Println(student1)
fmt.Println(student2)
fmt.Println(x)
{
نوع متغیر student2 و x از مقادیر آنها قابل تشخیص است.
اعلان متغیر بدون مقدار اولیه
در Go، همه متغیرها مقدار دهی اولیه می شوند. بنابراین، اگر یک متغیر را بدون مقدار اولیه اعلام کنید، مقدار آن به مقدار پیش فرض نوع آن تنظیم می شود:
package main
import (“fmt”)
}()funcmain
var astring
var b int
var cbool
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
{
مثال توضیح داده شده است در این مثال 3 متغیر وجود دارد : a , b , c
این متغیرها اعلام شده اند اما مقادیر اولیه به آنها اختصاص داده نشده است. با اجرای کد، می بینیم که آنها از قبل مقادیر پیش فرض انواع مربوطه خود را دارند
“” a is
b is 0
c is false
تفاوت بین var و =:
=: | var |
فقط در داخل functionsv قابل استفاده است | قابل استفاده در داخل و خارج از توابع |
اعلان متغیر و تخصیص مقدار را نمی توان به طور جداگانه انجام داد (باید در همان خط انجام شود) | اعلان متغیر و تخصیص مقدار می تواند به طور جداگانه انجام شود. |
مثال برای var
package main
import (“fmt”)
var a int
var b int = 2
var c = 3
}()func main
a = 1
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
{
مثال برای =:
package main
import (“fmt”)
a := 1
}()func main
fmt.Println(a)
{
این مثال نشان می دهد که چگونه می توان چندین متغیر را در یک خط اعلام کرد:
package main
import (“fmt”)
}()func main
var a, b, c, d int = 1, 3, 5, 7
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
fmt.Println(d)
{
اگر از کلمه کلیدی type استفاده می کنید، فقط می توان یک نوع متغیر را در هر خط اعلام کرد. اما اگر نوع کلمه کلیدی مشخص نشده باشد، می توانید انواع مختلفی از متغیرها را در همان خط اعلام کنید.
اعلانهای چند متغیری را نیز میتوان با هم در یک بلوک برای خوانایی بیشتر گروهبندی کرد:
قوانین نامگذاری متغیرها
یک متغیر می تواند یک نام کوتاه (مانند x و y) یا یک نام توصیفی تر (سن، قیمت، نام کار و غیره) داشته باشد.
قوانین نامگذاری متغیر :
- نام متغیر باید با حرف یا نویسه زیرخط (_) شروع شود.
- نام متغیر نمی تواند با یک رقم شروع شود.
- نام متغیر فقط میتواند شامل نویسههای عددی و زیرخط (a-z، A-Z، 0-9 و _ ) باشد.
- نام متغیرها به حروف بزرگ و کوچک حساس هستند (سن، سن و AGE سه متغیر متفاوت هستند.)
- هیچ محدودیتی در طول نام متغیر وجود ندارد.
- نام متغیر نمی تواند حاوی فاصله باشد.
- نام متغیر نمی تواند هیچ کلمه کلیدی Go باشد.
نام های متغیر چند کلمه ای: نام های متغیر با بیش از یک کلمه ممکن است به سختی خوانده شوند.
چندین تکنیک وجود دارد که می توانید برای خوانایی بیشتر آنها استفاده کنید:
Camel Case
هر کلمه، به جز کلمه اول، با یک حرف بزرگ شروع می شود:
“myVariableName = “John
Pascal Case
هر کلمه با یک حرف بزرگ شروع می شود:
“MyVariableName = “John
Snake Case
هر کلمه با یک کاراکتر زیر خط جدا می شود:
“my_variable_name = “John
ثابت
اگر یک متغیر باید مقدار ثابتی داشته باشد پس نباید قابل تغییر باشد، می توانید از کلمه کلیدی const استفاده کنید. کلمه کلیدی const متغیر را به عنوان “constant”اعلام می کند، به این معنی که غیر قابل تغییر و فقط خواندنی است.
Syntax
const CONSTNAME type = value
توجه : مقدار یک ثابت باید هنگام اعلام آن به آن اختصاص داده شود.
اعلام یک ثابت
در اینجا مثالی از اعلام یک ثابت در Go آورده شده است:
package main
import (“fmt”)
const PI = 3.14
}()func main
fmt.Println(PI)
{
قوانین ثابت
- نامهای ثابت از قوانین نامگذاری مشابهی پیروی میکنند.
- نامهای ثابت معمولاً با حروف بزرگ نوشته میشوند (برای تشخیص آسان و تمایز از متغیرها)
- ثابت ها را می توان هم در داخل و هم در خارج از یک تابع اعلام کرد.
انواع ثابت
دو نوع ثابت وجود دارد: ۱) ثابت های تایپ شده ۲) ثابت های تایپ نشده
ثابت های تایپ شده
ثابت های تایپ شده با یک نوع تعریف شده اعلان می شوند:
package main
import (“fmt”)
const A int = 1
}()func main
fmt.Println(A)
{
ثابت های تایپ نشده
ثابت های تایپ نشده بدون نوع اعلان می شوند:
در مثال زیر می بینید.
package main
import (“fmt”)
const A = 1
}()func main
fmt.Println(A)
{
1 : Result
نکته: در این حالت، نوع ثابت از مقدار استنباط می شود (یعنی کامپایلر بر اساس مقدار، نوع ثابت را تعیین می کند).
ثابت ها: غیرقابل تغییر و فقط خواندنی
هنگامی که یک ثابت اعلام می شود، امکان تغییر مقدار بعدا وجود ندارد:
package main
import (“fmt”)
}()func main
const A = 1
A = 2
{ fmt.Println(A)