توسعه و اجرای اولین برنامه با زبان Go
۱۶ اردیبهشت ۱۴۰۰
در این مقاله به شما کمک میکنیم زبان برنامهنویسی Go را بر روی سیستمعامل فعلیتان نصب کرده و اولین برنامهی Hello, World!
خود را در کمتر از ۱۰ دقیقه اجرا کنید.
۱) آموزش نصب زبان برنامهنویسی Go
برای نصب زبان برنامهنویسی Go لازم است تا installer آن را برای سیستمعاملهای Windows، Linux و Mac از سایت رسمی golang دانلود کنید بنابراین وارد صفحهی Download and install میشویم و از بخش go download بر روی دکمهی Download Go for کلیک میکنیم. بهاحتمال زیاد این وبسایت بهطور خودکار سیستمعامل فعلی شما را بهدرستی تشخیص میدهد اما اگر معماری سیستمعامل شما بهدرستی تشخیص داده نشد و یا به هر دلیلی خواستید که نسخههای دیگری از این زبان برنامهنویسی را دانلود کنید باید به صفحهی Downloads مراجعه کنید.
پس از نصب زبان Go با استفاده از installer برای اطمینان از موفقیتآمیز بودن فرایند نصب، Terminal سیستمعامل فعلی را باز کرده و دستور go version
را اجرا کنید.
۲) توسعهی برنامهی Hello World
در قدم اول یک پوشهی جدید با نام دلخواه خود ایجاد کنید. ما در این مقاله نام hello_world
را برای این پوشه درنظر گرفتهایم:
mkdir hello_world && hello_world
سپس باید یک ماژول جدید ایجاد کنیم که این کار با اجرای دستور go mod init
انجام میشود. برای ایجاد یک ماژول با نام hello
میتوانید به شکل زیر عمل کنید:
go mod init hello
با اجرای دستور فوق یک فایل با نام go.mod
ایجاد میشود که نام ماژولها و نسخهی فعلی زبان Go در آن قرار میگیرد. در برنامهی فعلی ما هیچ ماژول ثالث دیگری وجود ندارد. اگر از قبل با زبان JavaScript کار کرده باشید میتوان گفت که فایل go.mod
کاربردی شبیه فایل package.json
دارد.
در آخر بهسراغ توسعهی برنامه میرویم و برای این کار باید یک فایل با نام hello.go
در مسیر اصلی پروژه ایجاد کرده و کدهای زیر را در آن قرار دهید:
package main
import "fmt"
func main() {
// Print "Hello, World!" to the console
fmt.Println("Hello, World!")
}
در این برنامه سه بخش اصلی وجود دارد که بهتر است دربارهی عملکرد آنها بدانید.
package main
: با قرار دادن این تکه کد در برنامه مشخص میکنیم که کامپایلر باید فایل فعلی را بهعنوان یک برنامهی قابل اجرا کامپایل کند.import fmt
: این کد پکیج استانداردfmt
را به برنامهی فعلیimport
میکند که از آن برای چاپ کردن متنHello, World!
در Terminal استفاده خواهیم کرد.func main () { ... }
: تمام کدهای اصلی برنامه در این فانکشن قرار میگیرند و شما میتوانید این بخش از کد را Entry Point برنامههای نوشته شده با زبان Go بدانید.
۳) کامپایل و اجرای برنامهی نهایی
برای اجرای برنامه میتوانید Terminal سیستم عامل را باز کرده و به پوشهی پروژه بروید و برنامهی شما با اجرای دستور زیر اجرا خواهد شد:
go run .
اما مطمئنا شما نمیخواهید برنامهی خود را به این شکل در حالت production اجرا کنید بنابراین قبل از اجرای برنامه باید آن را کامپایل کنیم:
# Define target by the source folder
go build .
# Define target by the main file
go build hello.go
# Define target by the module name
go build hello
هر کدام از دستورهای فوق منجر به کامپایل برنامهی ما میشوند و تصمیم اینکه میخواهید از کدام روش استفاده کنید به شما و موقعیتتان بستگی دارد. خروجی نهایی شما یک فایل executable با نام hello
است که میتوانید به شکل زیر آن را اجرا کنید:
./hello
همچنین بخوانید: معرفی هاست رایگان Golang
توسعهدهندگان دربارهی ما چه میگویند
تجربه کار باliara_cloud@امروز خیلی خوب بود. یکی از سرویس هام رو منتقل کردم روش و راضیم. انقد سریع و جذاب کارم راه افتادم اصن باورم نمیشد! برعکس سرویس های PaaS دیگه با اون همه پیچیدگیشون. دمتون گرم
...
MohammadReza
keikaavousi
بعد از بسته شدن @fandoghpaas و ناراحتی همهمون از اینکه یه سرویس خوب و صادق نمیتونه از پس هزینهها بر بیاد، سرویسم رو منتقل کردم به پاس لیارا (https://liara.ir @liara_cloud) . تجربه راحت و خوب. تفاوتهایی داشت که کمی کار میخواست ولی تا الان کاملا راضی.
jadi
jadi
یه خسته نباشید باید به تصمیمliara_cloud@بگم،
بعد از چندین روز سرکله زدن با سرویس های مشابه بالاخره تصمیم گرفتم لیارا رو امتحان کنم و باور نمیشه ۱۰ دقیقه بیشتر وقت نبرد،
دمتون گرم.
Arch
EbadiDev
واسه سرویس PaaS با اختلاف لیارا بهترین رابط کاربری داره و یکی از مزیتهای سرویس دیتابیسشون اینه که خودشون به صورت دورهای بکآپ میگیرن.
...
Ali Najafi
me_ali_najafi
یکی از کارهای خوبی که جدیداً میکنم اینه که یه دیتابیس روی لیارا میسازم و به پروژه وصل میکنم اینطوری هم خونه و هم محل کار دیتابیس بروز رو دارم و راحت میتونم ادامه بدم کار روliara_cloud@
Navid
1navid
عاشقliara_cloud@شدم درسته در حد AWS نیست ولی خب تجربه خوبی واسه پروژه های داخل ایران ارائه میده، میتونم رو CD هم اجراش کنم
Amir H Shekari
vanenshi