2013-05-22 30 views
17

GO dilinin yeni ismim ve şimdi küçük bir sorunla karşı karşıyayım. Zamanın İkincisi(), Yıl(), vb. Aradığımda bana bir tamsayı verdiler ama Ay() dediğimde, bana bir Ay tipi değişkeni verdi. Month to to in Int

çevrimiçi belgede, ben
type Month int 
... 
func (m Month) String() string 

gördüm ben ona pek anlamıyorum. kodum m değil int çünkü aşağıdaki hata kodum var. Ay'dan nasıl int alabilirim?

geçersiz operasyon: m/time.Month(10) + offset (uyumsuz türleri time.Month ve int) açık bir şekilde int dönüştürmek zorunda

cevap

32

sayıları:

var m time.Month 

m ': Bir yan not

var i int = int(m) // normally written as 'i := int(m)' 

: bu convertedint olabilir, böylece s türü yatan türü, int olan soru bölümünü göstermektedir,' m/time.Month(10) '. Bu, dekamonth değerini hesaplamak istemediğiniz sürece bir hata olabilir ;-)

+0

ThX, yazdığım kod, bayt (m/10 + ofset), ancak "smartly" aracını m/time.Month (10) hata günlüğünde gösterir. – Nick

8

: go oyun alanında bu minimal example

var m Month = ... 
var i int = int(m) 

kontrol edin.

+0

Gerçekten dönüşüm ve tür dökümü değil. –

+0

@DominikHonnef Haklısınız =). Cevabımı güncelledim. – Brainstorm