github.com/traefik/yaegi@v0.15.1/_test/type24.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "net/http" 6 "net/http/httptest" 7 ) 8 9 func main() { 10 assertInt() 11 assertNil() 12 assertValue() 13 } 14 15 func assertInt() { 16 defer func() { 17 r := recover() 18 fmt.Println(r) 19 }() 20 21 var v interface{} = 1 22 println(v.(string)) 23 } 24 25 func assertNil() { 26 defer func() { 27 r := recover() 28 fmt.Println(r) 29 }() 30 31 var v interface{} 32 println(v.(string)) 33 } 34 35 func assertValue() { 36 defer func() { 37 r := recover() 38 fmt.Println(r) 39 }() 40 41 var v http.ResponseWriter = httptest.NewRecorder() 42 println(v.(http.Pusher)) 43 } 44 45 // Output: 46 // 22:10: interface conversion: interface {} is int, not string 47 // 32:10: interface conversion: interface {} is nil, not string 48 // 42:10: interface conversion: *httptest.ResponseRecorder is not http.Pusher: missing method Push