doulan9287 2015-07-17 18:58
浏览 7
已采纳

比较Go中的字符串和字节片而不复制

What is the best way to check that Go string and a byte slice contain the same bytes? The simplest str == string(byteSlice) is inefficient as it copies byteSlice first.

I was looking for a version of Equal(a, b []byte) that takes a string as its argument, but could not find anything suitable.

  • 写回答

3条回答 默认 最新

  • duanjiangzhi6851 2016-02-11 14:43
    关注

    Starting from Go 1.5 the compiler optimizes string(bytes) when comparing to a string using a stack-allocated temporary. Thus since Go 1.5

    str == string(byteSlice)
    

    became a canonical and efficient way to compare string to a byte slice.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?