package main import ( "fmt" "testing" ) func TestMergeLabelData(t *testing.T) { labelDatas := []LabelData{ {Name: "A", Sfield: "SF1", Weight: 2.0}, {Name: "A", Sfield: "SF1", Weight: 3.0}, {Name: "A", Sfield: "SF1", Weight: 1.5}, {Name: "B", Sfield: "SF2", Weight: 1.5}, {Name: "B", Sfield: "SF2", Weight: 0.5}, {Name: "C", Sfield: "SF3", Weight: 1.5}, } mergedMap := MergeLabelData(labelDatas) for key, values := range mergedMap { fmt.Printf("Sfield: %s\n", key) for _, value := range values { fmt.Printf(" Name: %s, Weight: %f\n", value.Name, value.Weight) } } return }