The line //go:build linux makes a Go file compile only on Linux; //go:build !linux marks its counterpart. A file name like x_linux.go has the same effect.