go學習筆記 4 比較兩個型別相等

2021-08-19 09:59:59 字數 986 閱讀 1247

字串比較方法:

(1)「==」:逐個比較且不分大小寫,相等返回true,不相等返回false

fmt.println("你好" == "你好")	//true

fmt.println("sa" == "sa") //true

fmt.println("sa" == "sa") //false

(2)strings.equalfold:區分utf-8字元在忽略大小寫的情況下是否相等,相等返回true,不相等返回false

fmt.println(strings.equalfold("das","das"))	//true

fmt.println(strings.equalfold("你好","你好")) //true

(3)strings.compare:相當於「==」比較,效率更高一些,相等返回0,不相等返回1

fmt.println(strings.compare("你好","你好"))	//0

fmt.println(strings.compare("das","das")) //1

slice比較方法:

(1)reflect方法比較:

a := int 

b := int

c := int

println(reflect.deepequal(a, b)) //false

println(reflect.deepequal(a, c)) //true

(2)迴圈比較:

func isequal() bool 

b := int

if len(a) != len(b)

if (a == nil) != (b == nil)

for i, v := range a

} return true

}

兩個list比較相等

public static void main string args 使用 org.apache.commons.collections4 listutils.isequallist list1,list2 注意 使用listutils.isequallist 方法是區分順序的,順序不一樣也不相等...

比較兩個Bean是否相等

最近專案中,反覆需要用到比較兩個bean是否全等的情況,許多人都是乙個元素乙個元素的比下去 比較兩個bean中所有元素是否全等,是返回true,有乙個不等則返回false 引數的位置和結果無關 param obj1 第乙個bean param obj2 第二個bean return 是否全等的boo...

比較兩個物件是否相等

using system using system.collections.generic using system.text using system.reflection namespace objectcompare public int age static class program 測試...