Для абстрактного случая заменой set'у является map:
set := make(map[string]bool)
set["SomeValue"] = true //поместили элемент в множество
...
if _, ex := set["SomeValue2"]; ex {
//проверили, что элемент существует (именно что _существует_, а не == true, с точно таким же результатом можно было засунуть false)
...
delete(set, "SomeValue3") //удалили элемент из множества
в некоторых случаях может быть использован вариант
Sergey Lerg'а, но мне лично мне это решение не очень нравится линейной сложностью вставки, проще уж тогда явно оперировать через перечисления/массив:
package main
import "fmt"
const (
first = iota
second
third
)
func main() {
var a [3]bool
a[first] = true
fmt.Printf("%+v", a)
}