ساخت یک برنامه ساده در Go

اجازه بدهید یک برنامه بسیار ساده به زبان Go بنویسیم. این برنامه یک پیغام را نمایش می‌دهد. در این درس می‌خواهم ساختار و دستور زبان یک برنامه ساده GO را توضیح دهم. قبل از ایجاد برنامه به این نکته خیلی مهم توجه کنید:

یکی از تنظیماتی که قبل از شروع این درس توصیه می‌کنیم که اعمال کنید این است که پسوند فایل‌ها داخل ویندوز را قابل مشاهده کنید. برای این کار به My Computer رفته و به صورت زیر از منوی Organize گزینه Folder and search options را بزنید:
create-a-simple-program-with-golang-01
از پنجره باز شده به صورت زیر به سربرگ View رفته و تیک کنار گزینه Hide Extension for khnown file types را بردارید:
create-a-simple-program-with-golang-02
در ادامه شما را نحوه ایجاد اولین برنامه در Go را توضیح می‌دهیم. همانطور که گفته شد، شما برای کامپایل و اجرای برنامه‌های Go به کامپایلر این زبان نیاز دارید، که آن را در درس قبل نصب کردیم و الان فرض می‌کنیم که شما هیچ IDE یا محیط کدنویسی در اختیار ندارید و می‌خواهید یک برنامه Go بنویسید. در این برنامه می‌خواهیم پیغام Welcome to Go Tutorials چاپ شود. ابتدا یک ویرایشگر متن مانند Notepad را باز کرده و کدهای زیر را در داخل آن نوشته (حروف بزرگ و کوچک را رعایت کنید) و با پسوند go ذخیره کنید :

  1 package main
  2 
  3 import "fmt"
  4 
  5 func main(){
  6    fmt.Println("Welcome to Go Tutorials!")
  7 }

create-a-simple-program-with-golang-03

create-a-simple-program-with-golang-04

create-a-simple-program-with-golang-05
همانطور که مشاهده می‌کنید، بعد از ذخیره، فایل با پسوند MyFirstProgram.go.txt ذخیره می‌شود که شما باید پسوند txt. آن را حذف کنید. هنگام پاک کردن پسوند، پیغامی به صورت زیر ظاهر می‌شود که شما باید بر روی گزینه Yes کلیک کنید:
create-a-simple-program-with-golang-06
تا شکل نهایی فایل به صورت زیر در آید:
create-a-simple-program-with-golang-07
حال نوبت به اجرای برنامه می‌رسد. فایل ما در درایو D قرار دارد. ابتدا cmd را باز کرده و کد زیر را در داخل آن نوشته و دکمه Enter را می‌زنید :

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\siavash>d:

D:\>go run MyFirstProgram.go
Welcome to Go Tutorials!

D:\>

همانطور که در کد بالا مشاهده می‌کنید برای اجرای کدهای Go ابتدا جمله go run و سپس نام پروژه به همراه پسوند آن را می‌نویسیم (مثل MyFirstProgram.go).

ساختار یک برنامه در Go

مثال بالا ساده‌ترین برنامه‌ای است که شما می‌توانید در Go بنویسید. هدف در مثال بالا نمایش یک پیغام در صفحه نمایش است. هر زبان برنامه نویسی دارای قواعدی برای کدنویسی است. اجازه بدهید هر خط کد را در مثال بالا توضیح بدهیم. در خط اول package تعریف شده است که شامل کدهای نوشته شده توسط شما است و از تداخل نامها جلوگیری می‌کند. درباره package در درسهای آینده توضیح خواهیم داد. فقط این نکته را در همین ابتدا ذکر کنیم که وجود این خط برای اجرای کدها الزامی است.
Go دارای package هایی است که به صورت توکار و هنگام نصب کامپایلر Go نصب می‌شوند و هر کدام برای مقاصد خاصی مورد استفاده قرار می‌گیرند. یکی از این package ها، fmt می‌باشد. برای استفاده از این package ها از کلمه کلیدی import استفاده می‌کنیم (خط 3). خط 5 متد ()main یا متد اصلی نامیده می‌شود. هر متد شامل یک سری کد است که وقتی اجرا می‌شوند که متد را صدا بزنیم. درباره متد و نحوه صدا زدن آن در فصول بعدی توضیح خواهیم داد. متد ()main نقطه آغاز اجرای برنامه است. این بدان معناست که ابتدا تمام کدهای داخل متد ()main و سپس بقیه کدها اجرا می‌شود. درباره متد ()main در فصول بعدی توضیح خواهیم داد. متد ()main و سایر متدها دارای آکولاد و کدهایی در داخل آن‌ها می‌باشند و وقتی کدها اجرا می‌شوند که متدها را صدا بزنیم. مثالی از یک خط کد در Go به صورت زیر است :

fmt.Println("Welcome to Go Tutorials!")

در خط 5 آکولاد (}) نوشته شده است. آکولاد برای تعریف یک بلوک کد به کار می‌رود. Go یک زبان ساخت یافته است که شامل کدهای زیاد و ساختارهای فراوانی می‌باشد. هر آکولاد باز ({) در Go باید دارای یک آکولاد بسته (}) نیز باشد. همه کدهای نوشته شده از خط 5 تا خط 7 یک بلوک کد است. این خط کد پیغام Welcome to Go Tutorials! را در صفحه نمایش نشان می‌دهد. از متد ()Println که در داخل fmt ،package قرار دارد، برای چاپ یک رشته استفاده می‌شود. یک رشته گروهی از کاراکترها است که به وسیله دابل کوتیشن (“) محصور شده است. مانند :“!Welcome to Visual Go Tutorials”
یک کاراکتر می‌تواند یک حرف، عدد، علامت یا …. باشد. در کل مثال بالا نحوه استفاده از متد ()Println نشان داده شده است. این متد یک متد از پکیج fmt بوده و از آن برای چاپ مقادیر استفاده می‌شود. Go فضای خالی و خطوط جدید را نادیده می‌گیرد. همیشه به یاد داشته باشید که Go به بزرگی و کوچکی حروف حساس است. یعنی به طور مثال MAN و man در Go با هم فرق دارند. رشته‌ها و توضیحات از این قاعده مستثنی هستند که در درسهای آینده توضیخ خواهیم داد. مثلاً کدهای زیر با خطا مواجه می‌شوند و اجرا نمی‌شوند :

fmt.println("Welcome to Go Tutorials!")
fmt.PRIintln("Welcome to Go Tutorials!")
FMT.Println("Welcome to Go Tutorials!")

تغییر در بزرگی و کوچکی حروف از اجرای کدها جلوگیری می‌کند. اما کد زیر کاملاً بدون خطا است :

fmt.Println("Welcome to Go Tutorials!")

همیشه کدهای خود را در داخل آکولاد بنویسید.

{
  statement1
}

این کار باعث می‌شود که کدنویسی شما بهتر به چشم بیاید و تشخیص خطاها راحت‌تر باشد. در زبان Go نیازی به سمیکالن (;) ندارید. همین که بعد از هر خط یک بار Enter بزنید به منزله این است که آن خط به پایان رسیده است. مثلاً دو خط زیر دو دستور جدا هستند:

fmt.Println("Welcome to Go Tutorials!")
fmt.Println("Welcome to Go Tutorials!")