آموزش زبان Go - بخش چهارم : نمایش متغییرها
تا اینجا یادگرفتیم در زبان Go چطور میشود یک عبارت مثل Hello World را چاپ کرد. شکل نمایش متغییر اما ممکن است با کمی چالش رو به رو باشد. فرض کنید که شما میخواهید عبارتی را چاپ کنید که در آن هم از متغییرها و هم عبارات متنی استفاده شده است. در ادامه با هم با یک مثال عملی این موضوع مهم را یاد خواهیم گرفت.

مروری بر گذشته
تا اینجای کار یاد گرفتیم که برای نمایش یک عبارت در خروجی در زبان Go به شکل زیر خواهد بود
var a = 12
fmt.Println("Hello World")
// for print var
fmt.Println(a)
قبل از ادامه بگذارید تفاوت بین Println و Print را بررسی کنیم. هر دوی اینها به هدف چاپ یک مقدار در خروجی ایجاد شدهاند اما در نوع خروجی تفاوت دارند.
اگر کد بالا را با دستور go run main.go اجرا کنیم چنین چیزی را خواهیم دید.
Hello World!
12
حالا اگر کد را به این شکل تغییر دهیم.
var a = 12
fmt.Print("Hello World")
// for print var
fmt.Print(a)
خروجی کد به این شکل خواهد بود
Hello World!12
درک Printf
اجازه بدهید توضیح این قسمت را با یک مثال شرع کنیم. من میخواهم این عبارت را در خروجی نمایش دهم. hello my name is mhdi and i am 30 years old نکته مهم اینکه ننام کاربر که در این عبارت mhdi است از یک متغییر آمده و سن کابر هم که 30 است همچنین.
پس کد ما تا این لحظه به چنین چیزی تغییر میکند.
package main
import "fmt"
func main() {
var user_name = "mhdi"
var user_age = 30
}
حالا من یک خط کد جدید هم به این کد اضافه میکنم
package main
import "fmt"
func main() {
var user_name = "mhdi"
var user_age = 30
fmt.Printf("hello my name is %s and i am %d years old", user_name, user_age)
}
و اگر کد را اجرا کنیم چنین عبارتی را در خروجی مشاهده خواهیم کرد.
hello my name is mhdi and i am 30 years old
اگر به عبارت نوشته شده در fmt.Printf دقت کنید میبینید که بخشی از متن به همان صورت نوشته شده و البته نیازی به تغییر نبوده است اما به جای مقادیری که قرار بوده از متغییر دریافت شود از s% یا d% استفاده شده است.
اجازه بدهید این کد را بیشتر موشکافی کنیم. اگر شما بخواهید یک مقدار string را در یک متن نمایش دهید. از عبارت s% در متن استفاده میکنیم اما اگر قرار باشد یک مقدار integer را در متن بیاوریم d% استفاده میکنیم.
برای مقدار float چطور؟ باید از g% استفاده کنیم
نکته تکمیلی
به این موضوع توجه داشته باشید که Printf رفتاری شبیه به Print دارد به این شکل که بعد از چاپ عبارت مورد نظر به خط بعدی نمیرود. اگر قرار باشد شما بعد از چاپ خط را تمام کنید و در صورت نمایش یک مقدار جدید در خروجی آن را در یک خط جدید نمایش دهید باید عبارت داخل Printf را این چنین بنویسید.
fmt.Printf("hello my name is %s and i am %d years old\n", user_name, user_age)
مقدار n\ در انتهای جمله به این دستور Printf این را توضیح میدهد که خط را تمام کرده و به خط بعدی برود.
نکته مهم اینکه مقدار n\ برای دستور Print هم قابل استفاده است.
جمع بندی
در این قسمت یاد گرفتیم چطور یک عبارت ترکیبی شامل مقادیر string و عدد را در کنار هم قرار دهیم و آن را چاپ کنیم. البته اگر شما فردی باشید که قبلا زبان برنامه نویسیای مثل C را خوانه باشید با چنین دستوراتی آشنایی کامل دارید.