記錄一個小坑

aside section._1OhGeD · · 197 次點擊 · · 開始瀏覽    

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)

}

運行結果:


本文來自:簡書

感謝作者:aside section._1OhGeD

查看原文:記錄一個小坑

入群交流(和以上內容無關):Go中文網 QQ 交流群:729884609 或加微信入微信群:274768166 備注:入群;關注公眾號:Go語言中文網

197 次點擊  
加入收藏 微博
1 回復  |  直到 2019-11-05 18:21:43
暫無回復
添加一條新回復 (您需要 登錄 后才能回復 沒有賬號 ?)
  • 請盡量讓自己的回復能夠對別人有幫助
  • 支持 Markdown 格式, **粗體**、~~刪除線~~、`單行代碼`
  • 支持 @ 本站用戶;支持表情(輸入 : 提示),見 Emoji cheat sheet
  • 圖片支持拖拽、截圖粘貼等方式上傳