2.7 فرق casting با conversion

2.7 فرق casting با conversion

2.7.1 conversion #

conversion زمانی اتفاق می‌افتد که ما مقدار یک داده را به تایپ دیگری اختصاص دهیم.

زبان‌هایی که Static Type هستند از این مقوله بطور ضمنی پشتیبانی می‌کنند ولی در زبان گو کمی متفاوت است. اگر شما بخواهید conversion انجام دهید باید بصورت دستی اینکار را انجام دهید. چون کامپایلر گو برخی از عناوین را بطور صریح در نظر می‌گیرد.

2.7.2 type casting #

در زبان گو، چیزی به نام type casting بطور کلی وجود ندارد. پس بهتر است در خصوص این مورد داخل داکیومنت‌ها یا سایت‌های مختلف نگردید. برای درک بهتر این موضوع بهتره https://go.dev/ref/spec#Conversions را مطالعه کنید.

2.7.3 مثال conversion #

در زیر یک مثال در خصوص conversion زدیم تا با این مقوله آشنا شوید:

 1package main
 2
 3import "fmt"
 4
 5func main() {
 6
 7	var totalsum int = 846
 8	var number int = 19
 9	var avg float32
10
11	avg = float32(totalsum) / float32(number)
12
13	fmt.Printf("Average = %f\n", avg)
14}
1$ go run main.go
2Average = 44.526318