نوع داده بولی یا بولین (bool) برای نشان دادن حالت های صحیح یا اشتباه بودن مورد استفاده قرار میگیرد. مقدار true
نمایانگر حالت صحیح و مقدار false
نمایانگر حالت اشتباه بودن است.
package main
import (
"fmt"
"unsafe"
)
func main() {
correct := true
wrong := false
fmt.Println(correct, wrong)
var isValid bool
fmt.Println(isValid)
isValid = true
fmt.Println(isValid)
fmt.Printf("%T %T %T \n", correct, wrong, isValid)
fmt.Println(unsafe.Sizeof(isValid))
}
در مثال بالا ابتدا مقادیر true
و false
رو درون دو متغیر مورد نظرمون قرار دادیم و سپس مقدار این دو متغیر را درون صفحه نمایش دادیم.
در خطوط بعدی یک متغیر با نام isValid
از نوع بولین تعریف کردیم. ابتدا مقدار پیش فرض اون رو درون صفحه نمایش دادیم در مرحله بعد مقدار اون رو به true
تغییر و سپس در صفحه نمایش دادیم.
نوع هر متغیر را درون صفحه نمایش دادیم. (با استفاده از %T
میتوان اینکار را انجام داد) و در آخر نیست اندازه ی متغیر isValid رو نمایش دادیم.
اندازه هر متغیر بولین در گولنگ برابر با یک بایت (هشت بیت) است.
نکته اول: در صورتی که مقدار متغیری را برابر با true
یا false
قرار دهیم, کامپایلر نوع آن متغیر را bool
در نظر خواهد گرفت.
نکته دوم: در Go, به متغیرهایی که بدون مقدار اولیه تعریف شده اند، مقدار صفر (zero value) آنها داده می شود. این مقدار برای متغیر های بولین برابر با false
است.
از نوع bool
معمولا در ایجاد شرط ها و حلقه های تکرار استفاده میشود.
عملگرهای مقایسه
برای آشنایی با عملگرهای مقایسه, به مثال زیر دقت کنید:
package main
import "fmt"
func main() {
x := 14
y := 6
// کوچکتر
log.Println(x < y)
// بزرگتر
log.Println(x > y)
// کوچکتر یا مساوی
log.Println(x <= y)
// بزرگتر یا مساوی
log.Println(x >= y)
// مساوی
log.Println(x == y)
// نا مساوی
log.Println(x != y)
}
نتیجه حاصل از مقایسه, یک مقدار بولین خواهد بود.
جمع بندی
در این بخش با نوع داده های bool آشنا شدیم. دیدم که مقادیر true یا false را به یک متغیر از نوع بولین میتوانیم نسبت دهیم. همچنین مقدار اولیه (zero value) برای یک متغیر بولین برابر با false است.
قسمت قبل: اعداد | گولنگ به زبان ساده