github.com/chainreactors/fingers@v1.2.1/nmap/type-probelist.go (about)

     1  package gonmap
     2  
     3  type ProbeList []string
     4  
     5  var emptyProbeList []string
     6  
     7  func (p ProbeList) removeDuplicate() ProbeList {
     8  	result := make([]string, 0, len(p))
     9  	temp := map[string]struct{}{}
    10  	for _, item := range p {
    11  		if _, ok := temp[item]; !ok { //如果字典中找不到元素,ok=false,!ok为true,就往切片中append元素。
    12  			temp[item] = struct{}{}
    13  			result = append(result, item)
    14  		}
    15  	}
    16  	return result
    17  }
    18  
    19  func (p ProbeList) exist(probeName string) bool {
    20  	for _, name := range p {
    21  		if name == probeName {
    22  			return true
    23  		}
    24  	}
    25  	return false
    26  }