记录一个小坑

2019-11-04  本文已影响0人  kilicmu

golang的string在进行两个字符串比较时,会比较两个字符串底层的[]byte是否相同, 而不是单纯的比较字符串是否一样, 所以,在[]byte转字符串进行比较前需要将其中的byte切片进行等长度截取, 然后转换, 否则会产生长度不匹配问题.
代码如下:

package main

import (
    "fmt"
)

func main() {
    var test1 string = "hello"
    var test2 []byte = make([]byte, 1024)
    copy(test2, []byte("hello"))
    fmt.Println(test1 == string(test2))
    fmt.Println(test1)
    fmt.Println(string(test2))
    fmt.Println(test2)

}

运行结果:


上一篇 下一篇

猜你喜欢

热点阅读