Saeed Heydari
Saeed Heydari
خواندن ۲ دقیقه·۲ سال پیش

آموزش golang - قدم سوم: ساختار کد

تو پست های قبلی درمورد golang و نحوه ی نصب اون توی لینوکس و ویندوز نوشتم.
از این بخش به بعد می خوایم درمورد مفاهیم پایه مثل ساختار کد، متغیرها، آرایه ها و ... صحبت کنیم.

ساختار کد

زبان گو، سینتکس ساده و تمیزی داره که به سرعت میشه اونو یاد گرفت و کدنویسی با اون لذت خیلی زیادی داره. این سادگی و آشکار بودن مفاهیم باعث میشه توسعه ی پروژه های مقیاس بزرگ خیلی سریعتر انجام بشه.

نمونه کد ساده زبان گو

بیاید با برنامه ی معروف Hello World شروع کنیم.

package main import &quotfmt&quot func main() { fmt.Println(&quotHello World!&quot) }

هر برنامه ی گو تعدادی فایل با پسوند go هست که کدهای بخش های مختلف داخل اون قرار داره. البته میشه کل پروژه رو تو یه فایل نوشت. ولی حتما هر فایلی باید یه قسمت به نام package که باعث جداسازی و پکیج بندی کد میشه داشته باشه مثل name space ها تو زباد c++.

تو زبان go اسم پکیج main به عنوان یه پکیج منحصر به فرد و پکیج اصلی برنامه در نظر گرفته میشه. شروع برنامه ما از این پکیج شروع میشه. این فایل باید یه تابع به اسم main داشته باشه که برنامه از این تابع شروع به کار می کنه. این تابع هیچ آرگومانی (ورودی تابع) نمیگیره و هیچ خروجی برنمی گردونه.

اگه داخل این تابع رو ببینید ما این دستور رو نوشتیم که متن Hello World! رو توی خروجی چاپ می کنه.

اگه خط دوم رو دقت کنید کلمه ی import و بعدش "fmt" رو می بینید. fmt یه پکیج go هست که من با import کردن اون از تابع Println داخل اون دارم استفاده می کنم. کاربرد import شبیه کاربرد include تو زبان c++ هست یا import توی پایتون هست.

اجرای کد

کدهای بالا رو توی یه فایل با اسم دلخواه و پسوند go مثل example.go ذخیره کنید. بعد دستور زیر رو توی ترمینال تو پوشه ای که فایل رو ذخیره کردید اجرا کنید.

go run example.go

خروجی باید این شکلی باشه:

Hello World!

این قسمت هم تموم شد. تو قسمت بعدی بیشتر درمورد کلمات کلیدی و نحوه ی تعریف متغیر و انواع صحبت می کنم.

https://virgool.io/@saeedheydari/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%85%D9%82%D8%AF%D9%85%D8%A7%D8%AA%DB%8C-golang-%D9%82%D8%AF%D9%85-%D8%B5%D9%81%D8%B1-ufv22zb4j3bq
https://virgool.io/@saeedheydari/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%85%D9%82%D8%AF%D9%85%D8%A7%D8%AA%DB%8C-golang-%D8%A8%D8%AE%D8%B4-%D8%AF%D9%88%D9%85-wyvs1idjyan2
https://virgool.io/@saeedheydari/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-golang-%D9%82%D8%AF%D9%85-%DA%86%D9%87%D8%A7%D8%B1%D9%85-ydltpxgtgdlj
https://virgool.io/@saeedheydari/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-golang-%D9%82%D8%AF%D9%85-%D9%BE%D9%86%D8%AC%D9%85-regehw9odr8y
https://virgool.io/@saeedheydari/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-golang-%D9%82%D8%AF%D9%85-%D8%B4%D8%B4%D9%85-k6cpaqgybxz2
https://virgool.io/@saeedheydari/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-golang-%D9%82%D8%AF%D9%85-%D9%87%D9%81%D8%AA%D9%85-jf9cn4h6fgri
https://virgool.io/@saeedheydari/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-golang-%D9%82%D8%AF%D9%85-%D9%87%D9%81%D8%AA%D9%85-%D9%85%D8%AA%D8%BA%DB%8C%D8%B1%D9%87%D8%A7-%D9%88-constant-oqvlbp5q2hg6
https://virgool.io/@saeedheydari/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-golang-%D9%82%D8%AF%D9%85-%D9%86%D9%87%D9%85-%D8%AA%D8%A7%D8%A8%D8%B9-nat6a2yfyqe3


golangآموزشبرنامه نویسیشروع کار
من سعید حیدری،برنامه نویس و طراح وب و از علاقه مندان دنیای گنو/لینوکس هستم. بک اند با لاراول وGolang و فرانت اند با vuejs, nuxtjs کار می کنم. همچنین به بلاکچین، هوش مصنوعی و اینترنت اشیا علاقه مندم.
شاید از این پست‌ها خوشتان بیاید