util/util.go   A
last analyzed

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
cc 9
eloc 22
dl 0
loc 35
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A util.UniqueValues 0 12 5
A util.Equal 0 13 4
1
package util
2
3
import (
4
	"reflect"
5
	"sort"
6
	"strings"
7
)
8
9
func UniqueValues(value []string) []string {
10
	var m = make(map[string]bool)
11
	var out []string
12
	for _, v := range value {
13
		v = strings.Trim(v, " ")
14
		if _, ok := m[v]; !ok && len(v) > 0 {
15
			m[v] = true
16
			out = append(out, v)
17
		}
18
	}
19
20
	return out
21
}
22
23
func Equal(a, b []string) bool {
24
	if len(a) == 0 && len(b) == 0 {
25
		return true
26
	}
27
28
	if len(a) != len(b) {
29
		return false
30
	}
31
32
	sort.Strings(a)
33
	sort.Strings(b)
34
35
	return reflect.DeepEqual(a, b)
36
}
37