Logo

Programming-Idioms

This language bar is your friend. Select your favorite languages!
  • Go

Idiom #220 Create a tuple value

Create t consisting of 3 values having different types.

Explain if the elements of t are strongly typed or not.

a, b, c := 2.5, "hello", make(chan int)

a, b, c are strongly typed and could hold the multiple return values of a func.

While a, b, c can most often be used like a tuple, they are technically not a tuple named t.
t := []any{
	2.5,
	"hello",
	make(chan int),
}

A slice of empty interface may hold any values (not strongly typed).
let t = 1, 'a', "b"

in OCaml, parenthesis for tuples are optional and only used to disambiguate.
Type inference can determine the type of the tuple without annotation.

New implementation...
programming-idioms.org