今天在群裡看見有人寫了乙個inaarry方法,主要作用是判斷乙個元素是否在slice中,看完後,我感覺方法應該還有擴充套件的空間
於是自己重新寫了乙個contains方法,可以支援 slice,array,map等型別
package main
import (
"errors"
"fmt"
"reflect"
)// 判斷obj是否在target中,target支援的型別arrary,slice,map
func contain(obj inte***ce{}, target inte***ce{}) (bool, error)
}case reflect.map:
if targetvalue.mapindex(reflect.valueof(obj)).isvalid()
}return false, errors.new("not in array")
}func main()
func testarray()
fmt.println(contain(a, b))
c := "a"
d := [4]string
fmt.println(contain(c, d))
e := 1.1
f := [4]float64
fmt.println(contain(e, f))
g := 1
h := [4]inte***ce{}
fmt.println(contain(g, h))
i := [4]int64{}
fmt.println(contain(a, i))
}func testslice()
fmt.println(contain(a, b))
c := "a"
d := string
fmt.println(contain(c, d))
e := 1.1
f := float64
fmt.println(contain(e, f))
g := 1
h := inte***ce{}
fmt.println(contain(g, h))
i := int64{}
fmt.println(contain(a, i))
}func testmap()
fmt.println(contain(3, a))
var b = map[string]int
fmt.println(contain("1", b))
var c = map[string]int, "2": }
fmt.println(contain("6", c))
}
詳述ArrayList類中contains方法
原始碼 contains public boolean contains object o indexof public int indexof object o else return 1 string型別 arraylistnames new arraylist names.add aa sys...
詳述ArryList類中是contains方法
詳述arrylist類中是contains方法 原始碼public boolean contains object o public int indexof object o else return 1 string 型別 arraylistlist new arraylist list.add j...
golang通用連線池的實現
golang的channel除了goroutine通訊之外還有很多其他的功能,本文將實現一種基於channel的通用連線池。連線池的實現不依賴具體的例項,而依賴某個介面,本文的連線池選用的是io.closer介面,只要是實現了該介面的物件都可以被池管理。當然,你可以實現基於inte ce 的連線池,...