11
Go domyślnie używa int dla iteratora, z wyjątkiem tego, że chcę uint64. Nie mogę znaleźć sposobu na zmianę typu iteratora pętli for w Go. Czy istnieje sposób, aby to zrobić w linii z instrukcją for? Domyślny typ int powoduje problemy, gdy próbuję coś zrobić w pętli, jak operacja mod (%).Go: w jaki sposób mogę zmienić typ iteratora pętli for?
func main() {
var val uint64 = 1234567890
for i:=1; i<val; i+=2 {
if val%i==0 {
}
}
}
./q.go:7: invalid operation: i < val (mismatched types int and uint64)
./q.go:8: invalid operation: val % i (mismatched types uint64 and int)
Dzięki! Szukałem kilku dokumentów na temat "rzucania" i niczego nie znalazłem. – mfisch
W programie Go nazywa się "asercją typu". – Daniel
@Daniel: asercja typu to składnia 'v, ok: = foo. (Int64)'. Składnia 'uint64 (1)' jest nazywana konwersją. –