DN
ip.IP = net.ParseIP(arg)
if ip.IP == nil {
return fmt.Errorf("%s : invalig ip address")
}
_, err := os.Stat(arg)
if os.IsNotExist(err) {
return fmt.Errorf("%s : file is not exist")
}
// полезные ништяки
return nil
Size: a a a
DN
ip.IP = net.ParseIP(arg)
if ip.IP == nil {
return fmt.Errorf("%s : invalig ip address")
}
_, err := os.Stat(arg)
if os.IsNotExist(err) {
return fmt.Errorf("%s : file is not exist")
}
// полезные ништяки
return nil
DN
C
DN
DN
type ArgIP struct {
IP net.IP
}
type ArgConfig struct {
Path string
}
type Arger interface {
ParseArg(arg string) error
}
func (ip ArgIP) ParseArg(arg string) error {
// работаю с конкретным ip
return nil
}
func (config ArgConfig) ParseArg(arg string) error {
// работаю о списком ip
return nil
}
VS
func (p *Project) DatabaseIsInvalid(name string) bool {Для этой структуры есть ещё одна функция, использующая Lock:
result := false
p.update.RLock()
if checkDb, ok := p.InvalidDatabases[name]; ok && !checkDb {
result = true
}
p.update.RUnlock()
return result
}
func (p *Project) DatabaseSetState(name string, state bool) {И это всё.
p.update.Lock()
p.InvalidDatabases[name] = state
p.update.Unlock()
}
InvalidDatabases
имеет формат map[string]bool
, если это имеет значениеАД
func (p *Project) DatabaseIsInvalid(name string) bool {Для этой структуры есть ещё одна функция, использующая Lock:
result := false
p.update.RLock()
if checkDb, ok := p.InvalidDatabases[name]; ok && !checkDb {
result = true
}
p.update.RUnlock()
return result
}
func (p *Project) DatabaseSetState(name string, state bool) {И это всё.
p.update.Lock()
p.InvalidDatabases[name] = state
p.update.Unlock()
}
InvalidDatabases
имеет формат map[string]bool
, если это имеет значение00
VS
АД
Z
func (p *Project) DatabaseIsInvalid(name string) bool {Для этой структуры есть ещё одна функция, использующая Lock:
result := false
p.update.RLock()
if checkDb, ok := p.InvalidDatabases[name]; ok && !checkDb {
result = true
}
p.update.RUnlock()
return result
}
func (p *Project) DatabaseSetState(name string, state bool) {И это всё.
p.update.Lock()
p.InvalidDatabases[name] = state
p.update.Unlock()
}
InvalidDatabases
имеет формат map[string]bool
, если это имеет значениеRUnlock
? И мютекс не перезаписывается нигде?VS
VS
Z
G
VS