2

The following code yields true. So I'm wondering for map[string]string in Golang, is there a way to differentiate empty string and nothing?

package main

import "fmt"

func main() {
    m := make(map[string]string)
    m["abc"] = ""
    fmt.Println(m["a"] == m["abc"]) //true
}

1 Answers1

9

If by "nothing" you mean that the element is not in the map you can use the ok idiom:

val, ok := myMap["value"] // ok is true if value was in the map

You can find more information in Effective Go.

Stephan Dollberg
  • 32,985
  • 16
  • 81
  • 107