Skip to content

Commit 4f0eed7

Browse files
committed
feat: add concurrency and func literal examples to simple example
Add examples demonstrating goroutines, channels, and function literals to the example/simple/main.go file. Update example/simple/tsconfig.json to correctly map the @go/builtin alias to the runtime file. Signed-off-by: Christian Stewart <christian@aperture.us>
1 parent bf206d4 commit 4f0eed7

3 files changed

Lines changed: 77 additions & 52 deletions

File tree

compliance/tests/switch_statement/switch_statement.gs.ts

Lines changed: 58 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -7,72 +7,79 @@ export async function main(): Promise<void> {
77
let i = 2
88
console.log("Integer switch:")
99
switch (i) {
10-
case 1:
11-
console.log("one")
12-
break
13-
case 2:
14-
console.log("two")
15-
break
16-
case 3:
17-
console.log("three")
18-
break
19-
default:
20-
console.log("other integer")
21-
break
10+
case 1:
11+
console.log("one")
12+
break
13+
case 2:
14+
console.log("two")
15+
break
16+
case 3:
17+
console.log("three")
18+
break
19+
default:
20+
console.log("other integer")
21+
break
2222
}
23-
23+
2424
let s = "hello"
2525
console.log("\nString switch:")
2626
switch (s) {
27-
case "world":
28-
console.log("world")
29-
break
30-
case "hello":
31-
console.log("hello")
32-
break
33-
default:
34-
console.log("other string")
35-
break
27+
case "world":
28+
console.log("world")
29+
break
30+
case "hello":
31+
console.log("hello")
32+
break
33+
default:
34+
console.log("other string")
35+
break
3636
}
3737
let x = -5
3838
console.log("\nSwitch without expression:")
39+
40+
// x > 0
3941
switch (true) {
40-
case x < 0:
41-
console.log("negative")
42-
break
43-
case x == 0:
44-
console.log("zero")
45-
break
46-
default: // x > 0
47-
console.log("positive")
48-
break
42+
case x < 0:
43+
console.log("negative")
44+
break
45+
case x == 0:
46+
console.log("zero")
47+
break
48+
default:
49+
console.log("positive")
50+
break
4951
}
50-
52+
5153
x = 0
5254
console.log("\nSwitch without expression (zero):")
55+
56+
// x > 0
5357
switch (true) {
54-
case x < 0:
55-
console.log("negative")
56-
break
57-
case x == 0:
58-
console.log("zero")
59-
break
60-
default: // x > 0
61-
console.log("positive")
62-
break
58+
case x < 0:
59+
console.log("negative")
60+
break
61+
case x == 0:
62+
console.log("zero")
63+
break
64+
default:
65+
console.log("positive")
66+
break
6367
}
64-
68+
6569
x = 10
6670
console.log("\nSwitch without expression (positive):")
71+
72+
// x > 0
6773
switch (true) {
68-
case x < 0:
69-
console.log("negative")
70-
break
71-
case x == 0:
72-
console.log("zero")
73-
break
74-
default: // x > 0
75-
console.log("positive")
76-
break
74+
case x < 0:
75+
console.log("negative")
76+
break
77+
case x == 0:
78+
console.log("zero")
79+
break
80+
default:
81+
console.log("positive")
82+
break
7783
}
7884
}
85+

example/simple/main.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,4 +118,21 @@ func main() {
118118
default:
119119
println("Switch default")
120120
}
121+
// Goroutines and Channels
122+
println("\nGoroutines and Channels:")
123+
ch := make(chan string)
124+
go func() {
125+
println("Goroutine: Sending message")
126+
ch <- "Hello from goroutine!"
127+
}()
128+
msg := <-ch
129+
println("Main goroutine: Received message:", msg)
130+
131+
// Function Literals
132+
println("\nFunction Literals:")
133+
add := func(x, y int) int {
134+
return x + y
135+
}
136+
sum = add(5, 7)
137+
println("Function literal result:", sum)
121138
}

example/simple/tsconfig.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
"jsx": "react",
77
"baseUrl": "./",
88
"paths": {
9-
"@go/*": ["output/@go/*"]
9+
"@go/*": ["output/@go/*"],
10+
"@go/builtin": ["../../builtin/builtin.ts"]
1011
},
1112
"allowSyntheticDefaultImports": true,
1213
"declaration": true,

0 commit comments

Comments
 (0)