golang中比較2個slice

2021-06-29 03:08:48 字數 952 閱讀 7568

這是用雙for的方法實現了2個slice的比較,方法很土,但思路直觀 

// functest project main.go

package main

import (

"fmt"

)//檢查slice b是否在slice a中

//需要比對的2個slice分別是a和b

//issame 比對的2個slice是否相同

//diffslice 如果2個slice不同,那麼不同的元素將儲存在其中

func checkslicebina(a string, b string) (isin bool, diffslice string) else

}} }

if len(diffslice) == 0 else

return isin, diffslice

}func main()

sliceb := string

isin, diffslice := checkslicebina(sliceb, slicea)

fmt.println(isin, diffslice) //輸出 false [1]

}

不好的地方在於:

1 2個slice是有順序的,引數順序不一樣結果也不一樣

2 傳入的slice是固定的

網上有人這麼寫

func in_slice(val inte***ce{}, slice inte***ce{}) bool 

} return false

}func slice_diff(slice1, slice2 inte***ce{}) (diffslice inte***ce{})

} return

}

在github上有人實現了更牛叉的,傳送門 

shell, python中比較兩個日期的先後

在shell中我們可以利用date命令比較兩個日期的大小,方法是先把日期轉換成時間戳格式,再進行比較。date 的 s可以將日期轉換成時間戳格式,看下面的例子 bin bash date1 2008 4 09 12 00 00 date2 2008 4 10 15 00 00 date3 aug 1...

java中比較兩個日期的先後

string begintime new string 2014 08 15 10 22 22 string endtime new string 2014 09 02 11 22 22 1.把字串型別的日期資料轉化成長整型,然後比較大小。如果日期格式有時分秒,則 寫成 s if long.valu...

java中比較兩個日期的大小

1.把字串型別的日期資料轉化成長整型,然後比較大小。如果日期格式有時分秒,則 寫成 s if long.valueof begintime.replaceall 2.直接進行字串比較 begintime.compareto endtime 0時,開始時間小於結束時間 注意 如果乙個日期格式是2016...