خب میخوایم نوشتن یه اپلیکیشن واقعی با گولنگ شروع کنیم، اگر گولنگ بلد نیستید باید بگم فوق العاده سادس و میتونید حدود یک هفتهای یادش بگیرید، خودم از این آموزش استفاده کردم، اگه امکان خرید دلاری ندارید میتونید از تورنت و جاهای دیگه دانلود کنید.
از اونجایی که اگه اپلیکیشن کاربردی باشه و کاربری نداشته باشیم انگیزهای برای ادامه کار نمیمونه تصمیم بر این شد اپلیکیشن حسابداری بنویسیم که خصوصیات زیر داشته باشه، البته اگه ایدهای داشتید بگید به لیست اضافه کنم.
برای شروع یه ریپازیتوری تو گیتلب میسازیم چون کاملا رایگانه و امکانات زیادی داره، همچنین به پکیج منیجر نیاز داریم، قبلا گفتیم از گلاید استفاده میکنیم، پس یه نگاهی به داکیومنتش میکنیم و تنظیمات اولیهش انجام میدیم، پس در ترمینال اینطور پیش میریم:
#Get Project from gitlab go get gitlab.com/erfun/hesabFun #Install glide curl https://glide.sh/get | sh #Go to project path cd $GOPATH/src/gitlab.com/erfun/hesabFun #Initialization glide glide init
بعد انجام این مراحل فایل glide.yaml به پروژه اضافه شده و میتونیم پکیجهای مورد نیازمون بهش اضافه کنیم، پس به این صورت فریمورک جین بهش اضافه میکنیم:
package: gitlab.com/erfun/hesabFun homepage: https://hesabfun.com import: - package: github.com/gin-gonic/gin
کافیه دستور glide install داخل ترمینال بزنید تا پکیجها از این فایل بخونه و دانلود کنه.
خب حالا میریم سراغ تمیز کردن فایلها برای کامیت کردن، فایل .gitignore تو روت پروژه میسازیم تا پوشه vendor کامیت نشه، همچین فایلهای GoLand میذاریم تو گیتایگنور.
vendor .idea hesabFun
اگه این قسمت خوب متوجه نشدید بهتره "آموزش گیت" گوگل کنید تا با مفاهیم اولیه آشنا باشید.
حالا میریم برای کد زدن، فایل main.go تو روت پروژه میسازیم
package main import ( "github.com/gin-gonic/gin" ) func main() { router := gin.Default() // end point "localhost:8080/" router.GET("/", func(c *gin.Context) { c.JSON(200, gin.H{ "message": "Hello world!", }) }) router.Run() // listen and serve on 0.0.0.0:8080 }
خیلی خب اگه گو بلد باشید یا آموزشی که معرفی کردم دیده باشید و داکیومنت جین خونده باشید کد بالا خیلی خواناست، کافیه آدرس http://localhost:8080 باز کنید تا خروجی اولین اندپوینتمون نشونتون بده.
خروجی جیسونه چون قرار بود با استاندارد رستفول کد بزنیم، اگر با رستفول مشکل دارید بهتره نگاهی به این داکیومنت کوتاه بکنید، خیلی سادس.
حالا میتونید خودتون شروع کنید یا نگاهی به کدهایی که نوشتم بندازید و بهترش کنید.
یادتون نره برای اجرا از دستور go build استفاده کنید و فایل کامپایل شده داخل روت پروژه قرار میگیره، کافیه اجراش کنید تا سرور ران بشه.
البته کار تموم نشده، تو پستهای بعدی بیشتر مینویسم.