Source file
test/if.go
1
2
3
4
5
6
7
8
9 package main
10
11 func assertequal(is, shouldbe int, msg string) {
12 if is != shouldbe {
13 print("assertion fail", msg, "\n")
14 panic(1)
15 }
16 }
17
18 func main() {
19 i5 := 5
20 i7 := 7
21
22 var count int
23
24 count = 0
25 if true {
26 count = count + 1
27 }
28 assertequal(count, 1, "if true")
29
30 count = 0
31 if false {
32 count = count + 1
33 }
34 assertequal(count, 0, "if false")
35
36 count = 0
37 if one := 1; true {
38 count = count + one
39 }
40 assertequal(count, 1, "if true one")
41
42 count = 0
43 if one := 1; false {
44 count = count + 1
45 _ = one
46 }
47 assertequal(count, 0, "if false one")
48
49 count = 0
50 if i5 < i7 {
51 count = count + 1
52 }
53 assertequal(count, 1, "if cond")
54
55 count = 0
56 if true {
57 count = count + 1
58 } else {
59 count = count - 1
60 }
61 assertequal(count, 1, "if else true")
62
63 count = 0
64 if false {
65 count = count + 1
66 } else {
67 count = count - 1
68 }
69 assertequal(count, -1, "if else false")
70
71 count = 0
72 if t := 1; false {
73 count = count + 1
74 _ = t
75 t := 7
76 _ = t
77 } else {
78 count = count - t
79 }
80 assertequal(count, -1, "if else false var")
81
82 count = 0
83 t := 1
84 if false {
85 count = count + 1
86 t := 7
87 _ = t
88 } else {
89 count = count - t
90 }
91 _ = t
92 assertequal(count, -1, "if else false var outside")
93 }
94
View as plain text