Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I usually use map[T]bool because

  if _, ok := wasTouched[thing]; !ok {
    touch(thing)
    wasTouched[thing] = struct{}{}
  }
is way uglier than

  if !wasTouched[thing] {
    touch(thing)
    wasTouched[thing] = true
  }


That doesn’t actually work unless you first fill all possible values with `false`.


Wrong. The whole point of this construct is that in Go maps return default values for keys that do not exist. The default value for bool is false.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: