Fumitoshi Ukai | 0b9e813 | 2015-04-30 10:20:18 +0900 | [diff] [blame^] | 1 | package main |
2 | |||||
3 | var symtab = make(map[string]string) | ||||
4 | |||||
5 | func intern(s string) string { | ||||
6 | if v, ok := symtab[s]; ok { | ||||
7 | return v | ||||
8 | } | ||||
9 | symtab[s] = s | ||||
10 | return s | ||||
11 | } | ||||
12 | |||||
13 | func internBytes(s []byte) string { | ||||
14 | if v, ok := symtab[string(s)]; ok { | ||||
15 | return v | ||||
16 | } | ||||
17 | v := string(s) | ||||
18 | symtab[v] = v | ||||
19 | return v | ||||
20 | } |