Go语言中的符号"<<"是啥意思,啥操作符?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go语言中的符号"<<"是啥意思,啥操作符?相关的知识,希望对你有一定的参考价值。

左移运算符(<<)

将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0)。

例:a = a << 2 将a的二进制位左移2位,右补0,

左移1位后a = a * 2;

若左移时舍弃的高位不包含1,则每左移一位,相当于该数乘以2。
右移运算符(>>)

将一个数的各二进制位全部右移若干位,正数左补0,负数左补1,右边丢弃。

操作数每右移一位,相当于该数除以2。

例如:a = a >> 2 将a的二进制位右移2位,

左补0 or 补1 得看被移数是正还是负。
参考技术A Go语言中的符号"<<"是什么意思,什么操作符?
位运算本回答被提问者采纳

go 表单


package main
import (
    "fmt"
    "io"
    "net/http"
)

const form = `<html><body><form action="#" method="post" name="bar">
                    <input type="text" name="in"/>
                    <input type="text" name="in"/>
                     <input type="submit" value="Submit"/>
             </form></html></body>`

func SimpleServer(w http.ResponseWriter, request *http.Request) {
    n, err := io.WriteString(w, "<h1>hello, world</h1>")
    if err != nil{
        fmt.Println(n)
    }
}

func FormServer(w http.ResponseWriter, request *http.Request) {
    w.Header().Set("Content-Type", "text/html")
    switch request.Method {
    case "GET":
        io.WriteString(w, form)
    case "POST":
        request.ParseForm()
        io.WriteString(w, request.Form["in"][0])
        io.WriteString(w, "\nss")
        io.WriteString(w, request.FormValue("in"))
    }
}

func Test(w http.ResponseWriter, r *http.Request){
    fmt.Println("handler hello")
    n, err := fmt.Fprintf(w, "hello world!")
    fmt.Println(n)
    if err != nil{
        fmt.Println("write error:", n)
    }
}

func main() {
    http.HandleFunc("/", Test)
    http.HandleFunc("/test1", SimpleServer)
    http.HandleFunc("/test2", FormServer)
    if err := http.ListenAndServe("127.0.0.1:80", nil); err != nil {
        fmt.Println("http listen eror")
    }
}

以上是关于Go语言中的符号"<<"是啥意思,啥操作符?的主要内容,如果未能解决你的问题,请参考以下文章

go 表单

C语言中,64位无符号整型如何进行开方运算?

C语言中,64位无符号整型如何进行开方运算?

每天五分钟Go - 循环语句

C语言 分离字符串中的字母、数字、符号

c语言中给数组赋值能用&符号吗?