Why does Go use ^ rather than ~ for unary bitwise-not?

Viewed 1505

Most programming languages use ~ to represent a unary bitwise-not operation. Go, by contrast, uses ^:

fmt.Println(^1)  // Prints -2

Why did the Go designers decide to break with convention here?

1 Answers
Related