34 lines
418 B
V
34 lines
418 B
V
struct Moon{}
|
|
|
|
struct Mars{}
|
|
|
|
struct Venus{}
|
|
|
|
type World = Mars | Moon | Venus
|
|
|
|
fn (m Mars) dust_storm() bool {
|
|
return true
|
|
}
|
|
|
|
fn main(){
|
|
mut w := World(Moon{})
|
|
|
|
assert w is Moon
|
|
w = Mars{}
|
|
|
|
mars := w as Mars
|
|
|
|
if mars.dust_storm(){
|
|
println('bad weather!')
|
|
}
|
|
|
|
//w1 := World(Mars{})
|
|
|
|
if mut w is Mars{
|
|
assert typeof(w).name == typeof(Mars{}).name
|
|
|
|
if w.dust_storm(){
|
|
println('bad weather!')
|
|
}
|
|
}
|
|
} |