Go語言 bytes.Equal() 和 reflect.DeepEqual() 的不同


1.bytes.Equal(a []byte,b []byte) bool
對比a和b的長度和所包含的字節是否相同,一個nil參數與一個空的slice相同。
 
2.reflect.DeepEqual(x,y interface{}) bool
DeepEqual反饋x和y是否是深等價。具體依據如下
  • x 和 y 同nil 或者同non-nil
  • x 和 y 具有相同的長度
  • x 和 y 指向同一個底層數組所初始化的實體對象。(&x[0] == &y[0])
注意:一個non-nil的空切片和一個nil的切片不是深等價。例如([]byte{} 和[]byte{nil})是非等價的。
 
其他值:numbers,bools,strings和channels 如果他們使用“==”相等則是深等價的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM