Go Series: رویکردی به زبان برنامه نویسی Golang

Go Core ، WebDev ، Gamedev ، Clidev ، GuideV و نمونه های مختلف.
امروز ما قصد داریم یک سری درباره چندین زبان برنامه نویسی مختلف را شروع کنیم. اینها اسنادی هستند که من مدتهاست که می نویسم و نمی دانستم با چه کاری باید انجام دهم.
برخی از افراد پیشنهاد کردند که یک دوره را انجام دهند ، اما این امر حتی بیشتر به من می رسد ، حتی ممکن است در صورت امکان آن را در آینده به یک فیلم تبدیل کنم. اما ، برای جلوگیری از نشستن این همه مطالب در اینجا ، من شروع به کار می کنم “آزاد کننده“آن به عنوان پست.
تفاوت در این سری در این است که نمونه ها با آنچه می توانید در آنجا پیدا کنید متفاوت است. آنها چیزهایی هستند که من خودم را خلق کردم و افرادی مانند کارهایی که انجام می دهم ، فکر می کنم باید تجربه ای باشد که من از سال 2011 داشته ام وقتی که ریشه ترمینال را شروع کردم ، در واقع ، اینگونه شروع شد ، کارهایی که من برای خودم انجام دادم و تصمیم گرفتم پس انداز کردن در Blogger و بدون معنی ، پیوندها در چندین انجمن بودند ، یعنی وقتی فهمیدم چرا من وبلاگ ترافیک زیادی داشت
در این سری اول ما زبان برنامه نویسی Go/Golang را پوشش خواهیم داد.
زبان برنامه نویسی GO مسئول بسیاری از مواردی است که بسیاری از ما به طور روزانه از آن استفاده می کنیم. چندین برنامه نرم افزاری مشهور با Go ساخته شده است ، در میان آنها ، ما:
-
Docker – مجازی سازی سطح سیستم.
-
Kubernetes – ارکستور کانتینر به طور گسترده استفاده می شود.
-
Terraform – زیرساخت به عنوان ابزار کد (IAC) از Hashicorp.
-
پرومتئوس – سیستم نظارت و هشدار.
-
Grafana Loki – سیستم ورود به سیستم مقیاس پذیر. + هوگو – ژنراتور سایت استاتیک سریع.
- GOGS/GITEA-سکوی مدیریت مخزن GIT خود میزبان.
آخرین مورد IS TypeScript Go ، یک زمان اجرا TypeScript ساخته شده توسط مایکروسافت است که پیش فرض اجرای برنامه هایی مانند: VS Code و دیگران خواهد بود.
این بندر TypeScript برای GO صحبت از شهر در روزهای اخیر بوده است ، زیرا اجرای TypeScript به 10 برابر سریعتر شده است!
علاوه بر چندین مورد کمتر شناخته شده دیگر.
یکی از تفاوت های زبان برنامه نویسی GO این است که برخلاف زبانهایی مانند: Swift ، Rust ، Zig و دیگران ، رفتن برای تهیه و ایجاد پرونده های باینری خود به LLVM/C ++ بستگی ندارد. کل ساختار زبان اصلی و اختصاصی است.
علاوه بر عدم متوسل شدن به اختراع C ++ حذف نشانگرها و در عوض استفاده از جمع کننده زباله ، که تأثیر کمی در عملکرد دارد ، اما خطر شدید آن را به همراه ندارد نشت حافظهبشر برای کسانی که هنوز نمی فهمند چگونه این کار می کند ، آن زنگ زدگی را که به عنوان دیده می شود ، بدانید ایمنی حافظه، صفحه ای در اسناد و مدارک خود هشدار می دهد که امکان وجود دارد نشت حافظهبشر
تنها تفاوت این است که کامپایلر اصلی ، مانند سوئیفت ، کربن ، زنگ زدگی ، زیگ و دیگران ، در C ++ نوشته شده است که Gofrontend بود ، اما همچنین “متحمل” راه راه راه راهبشر
در این قسمت های این سریال سعی خواهیم کرد 3 تا 4 موضوع را پوشش دهیم. در امروز قسمت 01 خواهیم دید:
01. مقدمه
رفتن یک زبان برنامه نویسی است که توسط Google ایجاد شده و به عنوان منبع باز در نوامبر 2009 منتشر شده است.
این یک زبان کامپایل شده است که بر اساس کار انجام شده در سیستم عامل به نام Inferno بر بهره وری و برنامه نویسی همزمان متمرکز است.
طراحی اولیه این زبان در سپتامبر 2007 توسط انجام شد رابرت گریسمربا راب پیک وت کن تامپسون (یکی از سازندگان یونیکس).
در حال حاضر ، پیاده سازی هایی برای Windows ، MacOS ، GNU/Linux و FreeBSD وجود دارد.
برای اطلاعات بیشتر به اینجا مراجعه کنید ، صفحه رسمی GO عبارت است از: https://go.dev/
02. آماده سازی محیط زیست
اول از همه ، شما باید داشته باشید رفتن روی سیستم شما نصب شده است. می توانید آن را از اینجا بارگیری کنید: https://go.dev/dl/ یا از مدیر بسته سیستم عامل خود استفاده کنید ، مثالها:
winget install --id=GoLang.Go -e
brew install go
sudo apt install golang-go
پس از نصب ، با اجرای go version
فرمان اگر نسخه مشابه محتوای زیر ظاهر شود ، همه چیز خوب است.
go version
go version go1.22.2 amd64
از طرف دیگر ، شما همچنین می توانید از کامپایلر GCC استفاده کنید ، یعنی GCCGO، برای این به پیوندهای زیر مراجعه کنید:
نصب نیز جالب است قطعه برای رفتن در IDE/ویرایشگر مورد علاقه خود.
03. سلام ، جهان!
اساسی ترین برنامه از همه همیشه سلام ، جهان! ، بنابراین بیایید مثال خود را با Go ایجاد کنیم. یک فایل با هر نام و پسوند ایجاد کنید .go
، به عنوان مثال: hello.go
و محتوای زیر را وارد کنید:
package main
import "fmt"
func main (){
fmt.Println("Hello, Go!")
}
برای اجرای آن می توانید دستور زیر را اجرا کنید ، اگرچه بهترین راه نیست ، زیرا کند است ، اما ممکن است:
go run hello.go
روش صحیح ساخت باینری (سریعتر است) و بعداً آن را اجرا کنید:
go build hello.go
./hello
توضیح کد:
-
package main
→ هر برنامه GO از بسته ها تشکیل شده است. برنامه ها ازmain
بسته بندی -
import "fmt"
→ این برنامه با استفاده از بسته با مسیر واردات “fmt” ، در عوض می توانید از نحو استفاده کنید:import ("fmt")
برای بیش از یک واردات استفاده می شود. -
func main()
→ این کارکرد اصلی است ، همیشه باید در تمام برنامه های GO وجود داشته باشد ، ما باید آن را باز کنیم{
و آن را ببندید}
بشر باfmt.Println("Hello, Golang!")
→ برای چاپ محتوای مورد نظر ، استفاده کنیدfmt.Println()
،Println()
عملکرد بخشی ازfmt
کتابخانه ، سرمایه P باید رعایت شود.
04 نظرات
GO از سبک C/C ++ برای نوشتن نظرات استفاده می کند (بخشی از کد که بر نتیجه تأثیر نمی گذارد ، فقط برای اهداف اطلاعاتی برای هر کسی که برای خواندن کد آمده است) // comment
یا /* comment */
(چندین خط) ، مثالها:
// My first Go code
package main // import the main package
import "fmt" // using the fmt library for Println
func main (){ // main function
fmt.Println("Hello, Golang!") // Printing
}
/*
To run and/or compile, use respectively
$ go run hello.go
OR
$ go build hello.go
$ ./hello
*/
خوب ، برای این قسمت 01 از سریال برو در حال حاضر به اندازه کافی خوب است ، من در قسمت های بعدی منتظر شما خواهم ماند!