Programming Language Syntax
Quick side-by-side of common constructs across Python, JavaScript, Go, Rust, and more.
Reference
Variables & constants
| Language | Mutable var | Immutable |
|---|---|---|
| Python | x = 1 | x: Final = 1 |
| JavaScript | let x = 1 | const x = 1 |
| TypeScript | let x: number = 1 | const x = 1 as const |
| Go | var x int = 1 or x := 1 | const x = 1 |
| Rust | let mut x = 1 | let x = 1 |
| Java | int x = 1 | final int x = 1 |
| C# | int x = 1 | const int X = 1 |
| Swift | var x = 1 | let x = 1 |
If / else
| Language | Syntax |
|---|---|
| Python | if x > 0:\n ...\nelse:\n ... |
| JavaScript | if (x > 0) { ... } else { ... } |
| Go | if x > 0 { ... } else { ... } |
| Rust | if x > 0 { ... } else { ... } (expression-valued) |
For loop (range 0..n)
| Language | Syntax |
|---|---|
| Python | for i in range(n): |
| JavaScript | for (let i = 0; i < n; i++) |
| Go | for i := 0; i < n; i++ { } |
| Rust | for i in 0..n { } |
| Swift | for i in 0.. |
Define a function (add two ints)
| Language | Syntax |
|---|---|
| Python | def add(a: int, b: int) -> int:\n return a + b |
| JavaScript | function add(a, b) { return a + b; } |
| TypeScript | function add(a: number, b: number): number { return a + b; } |
| Go | func Add(a, b int) int { return a + b } |
| Rust | fn add(a: i32, b: i32) -> i32 { a + b } |
| Java | static int add(int a, int b) { return a + b; } |
String formatting
| Language | Syntax |
|---|---|
| Python | f"Hello {name}, age {age}" |
| JavaScript | `Hello ${name}, age ${age}` |
| Go | fmt.Sprintf("Hello %s, age %d", name, age) |
| Rust | format!("Hello {name}, age {age}") |
| Java | String.format("Hello %s, age %d", name, age) |
| C# | $"Hello {name}, age {age}" |
Null / None
- Python
- None
- JS / TS
- null and undefined
- Go
- nil (pointer, interface, slice, map, chan, func)
- Rust
- Option
::None — no null - Java / C#
- null
- Swift
- Optional
::nil
Last updated: