Go'da Tip-Belirsiz Sabitler
Golang üzerinde birbirinden farklı iki sayı tipini toplamaya çalıştığımızda hata alırız. Birbiriyle toplanması (veya diğer dört-işlem yapılabilmesi) için türlerin aynı olması gerekir.
İşlem yapabilmek için öncelikle veri tipleri aynı olması gerekir. Örnek olarak aşağıdaki gibi çevirebiliriz.
package main
import "fmt"
func main() {
var sayi1 = 13
var sayi2 int16 = 20
toplam := int16(sayi1) + sayi2
fmt.Printf("%T , %v", toplam, toplam) // int16 , 33
}
sayi1
ve sayi2
'yi toplarken sayi1
'i int16
tipine çevirdik. %T
format karakteri ile ekrana toplam
'ın tipini bastırdık.
Tip-belirsiz sabitlerde ise bu olay biraz daha farklı oluyor. Tip belirtmeden bir değişken oluşturduğumuzda değerin tipine göre otomatik veri tipini tanımlıyor. Fakat sabitlerde veri tipimiz dinamik bir hal alıyor. Örneğimiz:
package main
import "fmt"
func main() {
const sayi1 = 13
fmt.Printf("sayi1'in tipi: %T \n", sayi1) //sayi1'in tipi: int
var sayi2 int16 = 20
toplam := sayi1 + sayi2
fmt.Printf("%T , %v", toplam, toplam) //int16 , 33
}