Go · version 1.23

Run Go 1.23 online

Released August 2024

range-over-func iterators — user-defined ranges become idiomatic.

Release

What's in Go 1.23

  • `for x := range fn { ... }` where fn is `func(yield func(T) bool)`.
  • `unique` package for canonicalising values (interned strings, etc.).
  • Improved timer semantics — GC-friendly Reset behaviour.
Starter code

What you get in Go 1.23

Clicking "Run now" opens the playground with this exact code and a matching test case — passes on first Run.

go
Go 1.23
package main
import "fmt"
func main(){var n int;fmt.Scan(&n);fmt.Println(n*2)}
stdin →21
expected →42
How it runs

How ls-judge runs Go 1.23

Every submission is compiled and executed inside its own Firecracker microVM — the same isolation primitive AWS Lambda uses. No shared container, no shared kernel with other users' code. The Go 1.23toolchain shipped with the microVM is the real thing (not a browser-side emulation): syscalls behave the way they do in production, and the compile / runtime behaviour matches what you would see on your own machine with that version installed.

Feed stdin from the Tests panel, watch verdicts stream per test case over a WebSocket. Free to use, no sign-up, works from any browser.

Other Go versions