1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
Files
v/vlib/v/gen/tests/3.vv

71 lines
831 B
V

type Expr = IfExpr | IntegerLiteral
struct IfExpr{}
struct IntegerLiteral{}
struct User {
age int
name string
}
fn get_opt() ?int {
return 0
}
/*
fn new_user() User {
return User{}
}
fn get_user_opt() ?User {
return new_user()
//return User{age:20, name:'Peter'}
}
*/
fn (u &User) foo() {
age := u.age
zzz := []string{len:(u.age)}
a := 10
if a in [10, 20, 30] {
b := 10
}
name := 'Bob'
println('hello')
println('Hello, $name')
println('age = $age')
println('name=$name age=$age')
}
fn println(s string) {}
fn handle_expr(e Expr) {
match e {
IfExpr {
println('if')
}
IntegerLiteral {
println('integer')
}
else {
println('else')
}
}
}
fn main() {
user := User{}
user.age = 10
user.age++
user.name = 'bob'
n := get_opt() or {
return
}
a := n + 3
handle_expr(IfExpr{})
}