package main import "fmt" func main() { var nums = []int{2, 7, 11, 15} var target = 10 fmt.Println(twoSum(nums, target)) } func twoSum(nums []int, target int) []int { var mark = map[int]int{} for index, num := range nums { if _, ok := mark[num]; ok { continue } mark[num] = index } for index, num := range nums { var _, ok = mark[target-num] if !ok { continue } if mark[target-num] == index { continue } return []int{ index, mark[target-num], } } return []int{} }