store/memory.go
func NewMemoryStore(config MemoryConfig) (*MemoryStore, error) {
	memStore := &MemoryStore{
		dataStore: cmap.NewConcurrencyMap(),
	}
	if config.Delim == 0 {
		config.Delim = DefaultDelim
	}
	if dataLen := len(config.DataSource); dataLen > 0 {
		for i := 0; i < dataLen; i++ {
			memStore.dataStore.Set(config.DataSource[i], 1)
		}
	} else if config.Reader != nil {
		buf := new(bytes.Buffer)
		io.Copy(buf, config.Reader)
		buf.WriteByte(config.Delim)
		for {
			line, err := buf.ReadString(config.Delim)
			if err != nil {
				if err == io.EOF {
					break
				}
				return nil, err
			}
			memStore.dataStore.Set(line, 1)
		}
		buf.Reset()
	}
	return memStore, nil
}
func NewMemoryStore(config MemoryConfig) (*MemoryStore, error) {
	memStore := &MemoryStore{
		dataStore: cmap.NewConcurrencyMap(),
	}
	if config.Delim == 0 {
		config.Delim = DefaultDelim
	}
	if dataLen := len(config.DataSource); dataLen > 0 {
		for i := 0; i < dataLen; i++ {
			memStore.dataStore.Set(config.DataSource[i], 1)
		}
	} else if config.Reader != nil {
		buf := new(bytes.Buffer)
		io.Copy(buf, config.Reader)
		buf.WriteByte(config.Delim)
		for {
			line, err := buf.ReadString(config.Delim)
			if err != nil {
				if err == io.EOF {
					break
				}
				return nil, err
			}
			memStore.dataStore.Set(line, 1)
		}
		buf.Reset()
	}
	return memStore, nil
}
// NewMemoryStore 创建敏感词内存存储