2024-05-22 10:07:21 +08:00
|
|
|
package main
|
|
|
|
|
|
2024-05-24 23:06:11 +08:00
|
|
|
import "github.com/goplus/llgo/cl/internal/foo"
|
|
|
|
|
|
|
|
|
|
func Foo() any {
|
|
|
|
|
return struct{ v int }{1}
|
|
|
|
|
}
|
2024-05-22 10:07:21 +08:00
|
|
|
|
|
|
|
|
func main() {
|
2024-05-24 23:06:11 +08:00
|
|
|
v := Foo()
|
|
|
|
|
if x, ok := v.(struct{ v int }); ok {
|
|
|
|
|
println(x.v)
|
|
|
|
|
} else {
|
|
|
|
|
println("Foo: not ok")
|
|
|
|
|
}
|
2024-05-24 10:30:56 +08:00
|
|
|
bar := foo.Bar()
|
|
|
|
|
if x, ok := bar.(struct{ V int }); ok {
|
2024-05-24 22:47:45 +08:00
|
|
|
println(x.V)
|
2024-05-22 10:07:21 +08:00
|
|
|
} else {
|
2024-05-24 22:47:45 +08:00
|
|
|
println("Bar: not ok")
|
2024-05-22 10:07:21 +08:00
|
|
|
}
|
|
|
|
|
if x, ok := foo.F().(struct{ v int }); ok {
|
2024-05-24 22:47:45 +08:00
|
|
|
println(x.v)
|
2024-05-22 10:07:21 +08:00
|
|
|
} else {
|
2024-05-24 22:47:45 +08:00
|
|
|
println("F: not ok")
|
2024-05-22 10:07:21 +08:00
|
|
|
}
|
|
|
|
|
}
|