Go语言中,为什么"<<0"操作会得到1?

In Go language, why the "<<0" operation will get 1?

我对左移运算符感到很困惑。我运行以下代码:

package main

func main(){
    var x = 1 << 0
    println(x)
}

我得到1。但我认为结果应该是零。

1 << 0 表示:

取1,不要移动。结果应该是原来的数:1