aşağıdaki kukla kodu kullanarak tipi iddiasıyla oynuyorum ve ben hata var anahtarı yazamaz?Golang:</p> <blockquote> <p>cannot type switch on non-interface value</p> </blockquote> <p>bilen var mı bu ne demek: olmayan arayüz değeri
package main
import "fmt"
import "strconv"
type Stringer interface {
String() string
}
type Number struct {
v int
}
func (number *Number) String() string {
return strconv.Itoa(number.v)
}
func main() {
n := &Number{1}
switch v := n.(type) {
case Stringer:
fmt.Println("Stringer:", v)
default:
fmt.Println("Unknown")
}
}
http://play.golang.org/p/Ti4FG0m1mc
ancak bilinen bir tipte tip iddiası yapma noktası ne olurdu? – newacct
@newacct Evet, üretim kodunda, tür zaten biliniyorsa kesinlikle bir tür onaylama yapmazsınız. Bu egzersizin amacı tip iddiasını anlamaktır. – Mingyu