چگونه Golang را یاد بگیریم – راهنمای مبتدیان برای مبانی
زبان برنامه نویسی Go که با نام Golang نیز شناخته می شود، در سال 2007 توسط رابرت گریزمر، راب پایک و کن تامپسون در گوگل توسعه یافت. در سال 2009 منبع باز بود.
Go رسا، مختصر، تمیز و کارآمد است. زبان به صورت ایستا با نحوی مشابه زبان برنامه نویسی C تایپ می شود.
Go برای اجرا بر روی چندین هسته طراحی شده است و برای پشتیبانی از همزمانی ساخته شده است. میتوانید از Go برای نوشتن برنامههایی استفاده کنید که باید عملکردی داشته باشند و میتوانند در مقیاس مدرن اجرا شوند، مانند سیستمهای توزیع شده با صدها هزار سرور در یک پلتفرم ابری.
در این مقاله، نحوه نوشتن یک برنامه اصلی CLI (واسط خط فرمان) را در Go یاد خواهید گرفت. ابتدا به طور خلاصه به برخی از ویژگی های اصلی Go می پردازیم. سپس در مورد ساختار اصلی یک فایل Go صحبت خواهیم کرد. در نهایت، نحوه تنظیم Go به صورت محلی را برای نوشتن کد یاد خواهید گرفت.
فهرست مطالب
نحوه تنظیم Go Locally در ویندوز
چگونه با نوشتن کد در Go شروع کنیم
تفاوت بین کلمه کلیدی var
و کلمه کلیدی const
ویژگی های Go
Go به عنوان زبان سمت سرور و باطن استفاده می شود
Go معمولاً برای ساخت برنامه های کاربردی سمت سرور و خدمات باطن استفاده می شود. این شامل طیف گسترده ای از برنامه های کاربردی مانند میکروسرویس ها، برنامه های کاربردی وب، سرورهای API و خدمات پایگاه داده است.
Go با در نظر گرفتن همزمانی طراحی شده است و آن را برای ساخت برنامه های کاربردی مقیاس پذیر و کارآمد سمت سرور مناسب می کند. سادگی، عملکرد و پشتیبانی داخلی آن از همزمانی، آن را به یک انتخاب مطلوب برای توسعه باطن تبدیل کرده است.
Go از نحو ساده استفاده می کند
Go یک نحو ساده و مینیمالیستی دارد. این به طور عمدی طراحی شده است که یادگیری، خواندن و نوشتن کد آسان باشد. Go یک سبک کدنویسی تمیز و مختصر را تشویق می کند.
یک نحو ساده بار روی توسعه دهندگان را کاهش می دهد و درک و نگهداری کد را برای آنها آسان تر می کند.
Go دارای زمان ساخت سریع، راه اندازی و زمان اجرا است
فرآیند کامپایل Go سریع است و به توسعه دهندگان این امکان را می دهد تا نتایج تغییرات کد خود را به سرعت مشاهده کنند.
همچنین، برنامه های Go معمولاً به سرعت راه اندازی می شوند و عملکرد زمان اجرا کارآمدی دارند.
Go یک منبع کارآمد است
برنامه های Go معمولاً در مقایسه با برخی از زبان های دیگر به منابع سیستم کمتری مانند CPU و RAM برای اجرا نیاز دارند. این تا حدودی به دلیل ماهیت استاتیکی و زمان اجرا کارآمد Go است.
نیاز کمتر به منابع، Go را برای ساخت برنامههایی که باید سبک و کارآمد باشند، بهویژه در محیطهایی که منابع محدود هستند، مناسب میسازد. این به مقیاس پذیری بهتر و مقرون به صرفه بودن در استقرار سرور کمک می کند.
Go یک زبان کامپایل شده است
Go یک زبان کامپایل شده است، به این معنی که کد منبع قبل از اجرا به کد ماشین یا یک فرم میانی ترجمه می شود. این برخلاف زبان های تفسیر شده است که کد مستقیماً توسط یک مفسر اجرا می شود.
کامپایل مزایایی مانند اجرای سریعتر را ارائه می دهد، زیرا کد به شکلی پیش پردازش شده است که ماشین می تواند مستقیماً آن را اجرا کند. همچنین تضمین می کند که خطاهای احتمالی در مرحله کامپایل شناسایی می شوند، خطاهای زمان اجرا را کاهش می دهد و قابلیت اطمینان کلی برنامه را بهبود می بخشد.
نحوه تنظیم Go Locally در ویندوز
Go را روی سیستم خود نصب کنید
قبل از نصب Go، Command Prompt خود را باز کنید، go را تایپ کرده و enter را بزنید. این برای تأیید اینکه آیا Go را روی رایانه شخصی خود نصب کرده اید یا خیر است.
وقتی «go» را وارد میکنید و اینتر را فشار میدهید، باید پیامی دریافت کنید که او میگوید «go» به عنوان یک دستور داخلی یا خارجی، برنامه قابل اجرا یا فایل دستهای شناسایی نمیشود.
این بدان معنی است که شما باید آن را نصب کنید.
برای نصب Go بر روی کامپیوتر ویندوزی خود، ابتدا باید Golang را از وب سایت رسمی دانلود کنید . از تمام سیستم عامل های اصلی پشتیبانی می کند. آن را نصب کنید که با سیستم عامل شما مطابقت دارد.
در مرحله بعد روی نصب کننده دانلود شده دوبار کلیک کنید تا Go نصب شود. دستورات را مطابق با آن دنبال کنید و Go نصب خواهد شد.
پس از نصب Go، به خط فرمان بازگردید و دوباره "go" را تایپ کنید. این بار باید دستورات متعددی را در Go مشاهده کنید.
اکنون باید فضای کاری Go خود را با پیکربندی متغیرهای محیطی تنظیم کنید. به دسکتاپ خود بروید و یک پوشه به نام "go-projects" ایجاد کنید (می توانید آن را هر چه دوست دارید نامگذاری کنید). این پوشه ای است که پروژه های Go شما در آن ذخیره می شود.
ابتدا عبارت "env" را در نوار جستجوی ویندوز جستجو کنید و روی "Edit the system environment variables" کلیک کنید.
همانطور که در زیر می بینید روی دکمه Environment variables کلیک کنید:
شما باید مقدار متغیر GOPATH
را به پوشه ای که قبلا ایجاد کرده اید تغییر دهید.
مطمئن شوید که «GOPATH» انتخاب شده است، سپس روی «ویرایش…» کلیک کنید.
بر روی "مرور دایرکتوری" کلیک کنید
پوشه ای را که قبلاً ایجاد کرده اید ("go-projects" یا هر چیزی که نام خود را انتخاب کرده اید) انتخاب کنید و روی "OK" کلیک کنید.
دوباره روی "OK" کلیک کنید.
دوباره روی "OK" کلیک کنید.
یک بار دیگر روی "OK" کلیک کنید.
Voilà! شما با تنظیم متغیر GOPATH تمام شده اید.
یک IDE راه اندازی کنید
اگر قبلاً یک IDE (محیط توسعه یکپارچه) را نصب نکرده اید، به انتخاب خود نصب کنید.
یک IDE یک ویرایشگر برای نوشتن کد است، مانند Visual Studio Code، Sublime و غیره.
این لینک دانلود ویژوال استودیو کد است .
برنامه Go Extension را در VS Code نصب کنید
در مرحله بعد، باید افزونه Go را روی Visual Studio Code نصب کنید. ویژگی هایی مانند تکمیل کد، پیمایش کد، برجسته سازی نحو، و پیشنهادات قطعه را ارائه می دهد.
نحوه شروع کدنویسی در Go
پوشه "go-projects" (یا هر نام دیگری که نامش را گذاشتید) را با VS Code (یا ویرایشگر کد مورد نظر خود) باز کنید. یک پوشه به نام "hello-world" ایجاد کنید (این اختیاری است) و یک فایل به نام main.go
ایجاد کنید. شما می توانید نام فایل را هر چه می خواهید بگذارید.
در اینجا خروجی است:
ممکن است تعجب کنید که قطعه کد بالا چه کار می کند 🤔. در ادامه به تفصیل توضیح خواهم داد.
بریم 🚀🚀
Package Declaration ( package main
): هر برنامه Go با یک اعلان بسته شروع می شود که نشان می دهد فایل به کدام بسته تعلق دارد. بسته main
یک بسته خاص است، زیرا نقطه ورود برنامه های اجرایی است.
بیانیه واردات ( import "fmt"
): در Go، شما بسته ها را وارد می کنید تا از عملکردها و ویژگی های آنها استفاده کنید. در اینجا، بسته fmt
را وارد می کنیم که مخفف "format" است و برای عملیات ورودی و خروجی استفاده می شود.
تابع اصلی ( func main()
): هر برنامه اجرایی Go باید یک تابع main
داشته باشد. وقتی برنامه خود را اجرا می کنید، اولین تابعی است که اجرا می شود.
بیانیه چاپ ( fmt.Println("Hello World")
): این خط از تابع Println
از بسته fmt
برای چاپ متن "Hello World" در کنسول استفاده می کند. تابع Println
برای چاپ با یک کاراکتر خط جدید در پایان استفاده می شود، پس خروجی بعدی در یک خط جدید ظاهر می شود.
Packages in Go چیست؟
بستهها راه Go برای سازماندهی کد هستند. بسته مجموعه ای از فایل های منبع است. باید متمرکز باشد و یک چیز واحد مانند ارسال آرگومان، رسیدگی به درخواست HTTP و غیره را انجام دهد.
برنامه ها در package main
شروع به اجرا می کنند. این برنامه از پکیج های دارای مسیرهای واردات “fmt”
استفاده می کند.
در Go، مسیر import یک شناسه منحصر به فرد برای یک بسته است. این مکان یک بسته را در سیستم ماژول Go مشخص می کند. مسیر import در دستور import
برای وارد کردن بستههای خارجی یا وابستگیها به کد Go شما استفاده میشود.
در اینجا یک تفکیک از مسیر واردات آمده است:
بستههای کتابخانه استاندارد: برای بستههایی که بخشی از کتابخانه استاندارد Go هستند، میتوانید مستقیماً از نام آنها در دستور import استفاده کنید.
مثلا:
import "fmt"
بسته های محلی: اگر روی پروژه ای با چندین فایل یا بسته کار می کنید، می توانید از مسیرهای واردات نسبی برای وارد کردن بسته های محلی استفاده کنید.
به عنوان مثال، اگر بسته ای به نام mypackage در همان دایرکتوری فایل اصلی خود دارید، می توانید آن را به این صورت وارد کنید:
import "./mypackage"
بسته های راه دور (از مخازن کنترل نسخه): Go از وارد کردن بسته ها به طور مستقیم از مخازن کنترل نسخه مانند GitHub پشتیبانی می کند. مسیر واردات شامل URL مخزن است.
مثلا:
import "github.com/example/mypackage"
بسته های راه دور (از سرورهای سفارشی): همچنین می توانید بسته ها را از سرورهای سفارشی با تعیین URL کامل وارد کنید.
برای مثال:
import "myserver.com/mypackage"
بسته های فروشنده: اگر یک بسته فروشنده دارید (نسخه ای از بسته ای که در مخزن پروژه شما نگهداری می شود)، می توانید آن را با استفاده از مسیری نسبت به ریشه پروژه خود وارد کنید.
مثلا:
import "myproject/vendor/mypackage"
بستههایی از حافظه پنهان Go Module: با معرفی ماژولهای Go، هنگام استفاده از ماژولها، Go به طور خودکار وابستگیها را در حافظه پنهان ماژول ذخیره میکند. مسیرهای واردات می توانند به بسته های موجود در حافظه پنهان اشاره کنند.
مثلا:
import "example.com/mypackage"
package main
همیشه به عنوان بالای کد شما مانند شکل زیر نوشته می شود
در زیر مثالی آورده شده است:
package main import "fmt" func main(){ fmt.Println("Hello World") }
ماژول ها در Go چیست؟
ماژول مجموعه ای از بسته ها است. این شامل اطلاعاتی درباره پروژه شما مانند وابستگی ها، نسخه Go و اطلاعات بسته است. همه پروژه های Go یک فایل go.mod دارند.
در اینجا دستور اولیه سازی فایل go.mod
از ترمینال آمده است:
go mod init <module path>
module path
نیز مسیر واردات است.
تصویر بالا نشان می دهد که چگونه ماژول ها درست از ترمینال ایجاد می شوند. و این فایل go.mod
تولید شده است:
دستور Go
چیست؟
دستور Go به ابزار خط فرمان go
در زبان برنامه نویسی Go اشاره دارد. این یک ابزار همه کاره است که می توانید از آن برای انجام کارهای مختلف مرتبط با توسعه Go مانند کامپایل، آزمایش، نصب بسته ها، مدیریت وابستگی ها و موارد دیگر استفاده کنید.
دستور go
چه کاری انجام می دهد؟
دستور go
بسیاری از جنبه های گردش کار توسعه Go را خودکار می کند. این برنامه وظایفی مانند کامپایل، آزمایش، مدیریت وابستگی و موارد دیگر را انجام می دهد و ساخت، آزمایش و نگهداری پروژه های Go را برای توسعه دهندگان آسان می کند. همچنین پذیرش ماژول های Go را تسهیل می کند، یک سیستم مدیریت وابستگی که برای بهبود نسخه سازی و ردیابی وابستگی در پروژه های Go معرفی شده است.
شما از دستور go
در سناریوهای مختلف در طول چرخه توسعه پروژه Go استفاده می کنید:
Running Code: go run
یک برنامه Go را کامپایل و اجرا می کند.
Building Executables: go build
کامپایل می کند کد منبع را به یک باینری اجرایی تبدیل کنید.
کد تست: go test
در بسته فعلی تست ها را اجرا می کند و go test ./...
تست ها را در همه زیر شاخه ها اجرا می کند.
مدیریت بسته (با ماژول): go mod init
یک ماژول جدید (پروژه Go) را مقداردهی اولیه می کند و یک فایل go.mod
ایجاد می کند. go get
. go mod tidy
هرگونه وابستگی را که دیگر ضروری نیست حذف می کند. و go list -m all
همه وابستگی ها را برای ماژول فعلی فهرست می کند.
مستندات: go doc
اسناد یک بسته یا نماد را نشان می دهد.
تجزیه و تحلیل وابستگی: go list
اطلاعات مربوط به بسته های موجود را فهرست می کند. go list -m -versions <module>
تمام نسخه های شناخته شده یک ماژول را فهرست می کند.
قالب بندی کد: فرمت های go fmt
برو کد منبع.
محیط: go env
اطلاعات محیط Go را چاپ می کند.
متغیرها در Go چیست؟
متغیرها راهی برای ذخیره و دسترسی به داده ها در برنامه شما فراهم می کنند.
برای ایجاد یک متغیر، میتوانید از ایجاد تک، ایجاد ترکیب، ایجاد بلوک یا روش ایجاد و تخصیص استفاده کنید. اکنون نمونه هایی از هر یک از آنها را مرور می کنیم.
تک خلقت
Single Creation زمانی استفاده می شود که شما نیاز به ایجاد و مقداردهی اولیه یک متغیر دارید.
مثالی از استفاده از روش ایجاد تک:
package main import "fmt" func main() { var singleVariable int singleVariable = 10 fmt.Println(singleVariable) }
در این مثال، singleVariable
اعلام شده و بعداً مقدار 10
به آن اختصاص داده شده است.
ایجاد مرکب
همچنین می توانیم چندین متغیر را همزمان ایجاد کنیم. این روش ایجاد متغیرها، تخصیص چندین نوع داده مختلف به چندین متغیر را ساده می کند.
package main import "fmt" func main() { var a, b, c = 1, 2, "Coders" fmt.Println(a, b, c) }
ایجاد بلوک
ایجاد بلوک زمانی استفاده می شود که بخواهید دامنه متغیرها را به یک بلوک خاص محدود کنید. شما چندین متغیر را در یک بلوک کد {}
اعلام و مقداردهی اولیه می کنید.
package main import "fmt" func main() { { var blockVariable int blockVariable = 5 fmt.Println(blockVariable) } // blockVariable is not accessible here }
در این مثال، blockVar1
فقط در بلوکی که اعلام شده قابل دسترسی است.
ایجاد و اختصاص دهید
شما با استفاده از خلاصه :=
یک متغیر را در یک خط اعلام و مقداردهی اولیه می کنید، مانند این:
package main import "fmt" func main() { createAndAssignVar := 42 fmt.Println(createAndAssignVar) }
در این مثال، createAndAssignVar
با استفاده از خلاصه :=
در یک خط اعلام و مقداردهی اولیه می شود.
کنوانسیون های نامگذاری در Go
نام گذاری متغیر Go از casel case استفاده می کند. برای مثال:
const myVariable = 20
هر زمان که نام متغیری را انتخاب کردید، تمرین خوبی است که یک نام توصیفی به آن بدهید، برای مثال conferenceName := "Linux"
به جای conference := "Linux"
.
تفاوت بین کلمه کلیدی var
و کلمه کلیدی const
در Go
دو راه برای اعلام متغیرها در Go وجود دارد: var
و const
. برای کسانی از شما که جاوا اسکریپت را می شناسند، این ممکن است آشنا به نظر برسد.
var
برای اعلان متغیرها استفاده می شود و پس از اعلان می توان مقادیر آنها را تغییر داد.
const
برای اعلام ثابت ها استفاده می شود و پس از اعلان نمی توان مقادیر آنها را تغییر داد.
در اینجا مثالی از استفاده از هر دو var
و const
برای اعلان متغیرها آورده شده است:
package main import "fmt" func main() { // Using var var variable1 int = 5 variable1 = 10 // Valid, the value of variable1 can be changed // Using const const constant1 int = 5 // constant1 = 10 // Invalid, constants cannot be reassigned fmt.Println(variable1, constant1) }
در مثال بالا، variable1
می توان به یک مقدار جدید تخصیص داد، در حالی که constant1
به دلیل ماهیت const
آن قابل تخصیص مجدد نیست.
انواع داده در Go
انواع مختلفی از داده ها در Golang وجود دارد که شامل number
، string
، boolean
، array
، pointer
، struct
، map
و interface
است.
بیایید نمونه هایی از هر یک از اینها را ببینیم تا بتوانید نحوه کار آنها را یاد بگیرید.
Number
(int، float64) برای نمایش مقادیر عددی (اعداد کامل یا اعشار) استفاده می شود. در اینجا یک مثال است:
package main import "fmt" func main() { // Integers var integerVar int = 42 fmt.Println(integerVar) // Floating-point numbers var floatVar float64 = 3.14 fmt.Println(floatVar) }
در این مثال، integerVar
یک متغیر عدد صحیح و floatVar
یک متغیر ممیز شناور است.
String
برای نمایش دنباله ای از کاراکترها (متن) استفاده می شود. در اینجا یک مثال است:
package main import "fmt" func main() { var stringVar string = "Hello, Golang!" fmt.Println(stringVar) }
در این مثال، stringVar
یک متغیر رشته ای است که متن "Hello, Golang!" را نگه می دارد.
Boolean
برای نمایش مقادیر منطقی ( true
یا false
) استفاده می شود. در اینجا یک مثال است:
package main import "fmt" func main() { var boolVar bool = true fmt.Println(boolVar) }
در این مثال، boolVar
یک متغیر بولی است که روی true
تنظیم شده است.
Array
برای ذخیره توالی با اندازه ثابت از عناصر از همان نوع استفاده می شود. در اینجا یک مثال است
package main import "fmt" func main() { var intArray [3]int = [3]int{1, 2, 3} fmt.Println(intArray) }
در این مثال، intArray
آرایه ای از اعداد صحیح با اندازه ثابت 3 است.
Pointer
برای ذخیره آدرس حافظه یک متغیر استفاده می شود. در اینجا یک مثال است:
package main import "fmt" func main() { var originalVar int = 42 var pointerVar *int = &originalVar fmt.Println(*pointerVar) // Dereferencing the pointer }
در این مثال، pointerVar
یک اشاره گر به آدرس حافظه originalVar
است.
Structure (Struct)
برای گروه بندی متغیرهای مختلف با یک نام واحد استفاده می شود. در اینجا یک مثال است:
package main import "fmt" type Person struct { Name string Age int } func main() { var personVar Person = Person{Name: "Alice", Age: 30} fmt.Println(personVar) }
در این مثال personVar
ساختاری است که نمایانگر فردی با نام و سن است
Map
برای نمایش جفت های کلید-مقدار استفاده می شود. در اینجا یک مثال است:
package main import "fmt" func main() { var myMap map[string]int = map[string]int{"one": 1, "two": 2, "three": 3} fmt.Println(myMap) }
در این مثال، myMap
یک نقشه با کلیدهای رشته ای و مقادیر صحیح است.
Interface
برای تعریف مجموعه ای از امضاهای متد بدون تعیین پیاده سازی استفاده می شود. در اینجا یک مثال است:
package main import "fmt" type Shape interface { Area() float64 } type Circle struct { Radius float64 } func (c Circle) Area() float64 { return 3.14 * c.Radius * c.Radius } func main() { var myShape Shape = Circle{Radius: 5.0} fmt.Println(myShape.Area()) }
در این مثال، Shape
یک رابط است، و Circle
نوعی است که متد Area
رابط Shape
را پیادهسازی میکند.
اپراتورها در Go
3 نوع عملگر اصلی در Go وجود دارد: عملگرهای حسابی، عملگرهای منطقی و عملگرهای رابطه ای.
حالا بیایید هر دسته از اپراتورها را مرور کنیم و با مثال هایی ببینیم که چگونه کار می کنند.
عملگرهای حسابی
عملگرهای حسابی زمانی استفاده می شوند که شما نیاز به انجام عملیات ریاضی پایه در کد خود دارید. آنها شامل موارد زیر است:
از جمع (+) برای جمع کردن مقادیر عددی با هم استفاده می شود. در اینجا یک مثال است:
package main import "fmt" func main (){ a := 5 b := 3 result := a + b // result is 8 fmt.Println(result) }
تفریق (-) برای یافتن تفاوت بین دو مقدار عددی استفاده می شود. در اینجا یک مثال است:
package main import "fmt" func main (){ a := 8 b := 3 result := a - b // result is 5 fmt.Println(result)
ضرب (*) برای محاسبه حاصل ضرب دو مقدار عددی استفاده می شود. در اینجا یک مثال است:
package main import "fmt" func main (){ a := 4 b := 6 result := a * b // result is 24 fmt.Println(result)
تقسیم (/) برای محاسبه ضریب دو مقدار عددی استفاده می شود. در اینجا یک مثال است:
package main import "fmt" func main(){ a := 10 b := 2 result := a / b // result is 5 fmt.Println(result) }
مدول (%) باقیمانده تقسیم عملوند چپ به عملوند راست را برمی گرداند. در اینجا یک مثال است:
package main import "fmt" func main (){ a := 15 b := 7 result := a % b fmt.Println(result) }
اپراتورهای رابطه ای
عملگرهای رابطه ای برای مقایسه مقادیر و تصمیم گیری بر اساس نتایج مقایسه استفاده می شوند. شامل موارد زیر است:
بزرگتر از (>) برای مقایسه هایی که عملوند چپ بزرگتر از عملوند راست است استفاده می شود. در اینجا یک مثال است
package main import "fmt" func main (){ x := 8 y := 5 isGreater := x > y // isGreater is true fmt.Println(isGreater) }
کمتر از (<) برای مقایسه هایی که عملوند چپ کمتر از عملوند راست است استفاده می شود. در اینجا یک مثال است:
package main import "fmt" func main (){ p := 12 q := 18 isLess := p < q // isLess is true fmt.Println(isLess) ]
Greater Than یا مساوی (>=) تحلیل می کند که آیا عملوند سمت چپ بزرگتر یا مساوی با عملوند راست است. در اینجا یک مثال است:
package main import "fmt" func main (){ m := 5 n := 5 isGreaterOrEqual := m >= n // isGreaterOrEqual is true fmt.Println(isGreaterOrEqual) }
Less Than یا Equal to (<=) تحلیل می کند که آیا عملوند سمت چپ کمتر یا برابر با عملوند راست است.
package main import "fmt" func main (){ r := 10 s := 15 isLessOrEqual := r <= s // isLessOrEqual is true fmt.Println(isLessOrEqual) }
هم ارزی (==) تحلیل می کند که آیا عملوند چپ با عملوند راست برابر است یا خیر. شما از این برای مقایسه برابری استفاده می کنید. در اینجا یک مثال است:
package main import "fmt" func main (){ age := 25 checkAge := age == 25 // checkAge is true fmt.Println(checkAge) }
Not Equal (!=) تحلیل می کند که آیا دو عملوند برابر نیستند. در اینجا یک مثال است:
package main import "fmt" func main (){ score1 := 80 passingScore := score1 != 75 // passingScore is true fmt.Println(passingScore) }
عملگرهای منطقی
زمانی که نیاز به پیاده سازی منطق بولی و تصمیم گیری بر اساس شرایط متعدد دارید، از عملگرهای منطقی استفاده می کنید.
منطقی AND (&&): این عملگر فقط در صورتی true را برمی گرداند که هر دو عملوند true باشند، در غیر این صورت، false را برمی گرداند. در اینجا یک مثال است:
package main import "fmt" func main (){ x := true y := false result := x && y // result is false fmt.Println(result) }
منطقی OR (||): اگر حداقل یکی از عملوندها درست باشد، این عملگر true را برمی گرداند، در غیر این صورت، false را برمی گرداند. در اینجا یک مثال است:
package main import "fmt" func main (){ a := true b := false result := a || b // result is true fmt.Println(result) }
Logical NOT (!): این عملگر یک عملگر unary است، به این معنی که فقط بر روی یک عملوند عمل می کند. مقدار عملوند را نفی می کند و true را به false و false را به true تبدیل می کند. در اینجا یک مثال است:
package main import "fmt" func main (){ isSunny := true isRainy := !isSunny // isRainy is false fmt.Println(isRainy) }
بسته بندی
در این مقاله با زبان برنامه نویسی Go آشنا شدید و چرا دانستن آن مفید است. همچنین با ویژگی های Go و نحوه راه اندازی Go به صورت محلی در ویندوز آشنا شدید.
سپس یاد گرفتید که چگونه واقعاً نوشتن کد در Go را شروع کنید و نمونه هایی از بسیاری از ویژگی های Go را در عمل مشاهده کردید. ما همچنین در مورد اینکه بسته ها چیست، ماژول ها چگونه کار می کنند و موارد دیگر صحبت کردیم.
رفتن ارزش وقت گذاشتن را دارد. حالا برو بیشتر مطالعه کن برو.
کد نویسی مبارک!
ارسال نظر