Early return is better than nesting. For example:
var adsPat1 = regexp.MustCompile(`\.txt$`)
var adsPat2 = regexp.MustCompile(`_[0-9]{8}\.txt$`)
func addDateSuffix(target string, suffix string) error {
fis, e := ioutil.ReadDir(target)
if e != nil {
return e
}
for _, fi := range fis {
if m1 := adsPat1.FindStringSubmatch(fi.Name()); m1 == nil {
continue
}
if m2 := adsPat2.FindStringSubmatch(fi.Name()); m2 != nil {
continue
}
ext := filepath.Ext(fi.Name())
gn := fmt.Sprintf("%s_%s%s", strings.TrimSuffix(fi.Name(), ext), suffix, ext)
fmt.Println(fi.Name(), "->", gn)
}
return nil
}
Also see this post for more idiomatic go discussion: http://stackoverflow.com/questions/20028579/what-is-the-idiomatic-version-of-this-function https://stackoverflow.com/questions/20028579/what-is-the-idiomatic-version-of-this-function
Early return is better than nesting. For example:
var adsPat1 = regexp.MustCompile(`\.txt$`)
var adsPat2 = regexp.MustCompile(`_[0-9]{8}\.txt$`)
func addDateSuffix(target string, suffix string) error {
fis, e := ioutil.ReadDir(target)
if e != nil {
return e
}
for _, fi := range fis {
if m1 := adsPat1.FindStringSubmatch(fi.Name()); m1 == nil {
continue
}
if m2 := adsPat2.FindStringSubmatch(fi.Name()); m2 != nil {
continue
}
ext := filepath.Ext(fi.Name())
gn := fmt.Sprintf("%s_%s%s", strings.TrimSuffix(fi.Name(), ext), suffix, ext)
fmt.Println(fi.Name(), "->", gn)
}
return nil
}
Also see this post for more idiomatic go discussion: http://stackoverflow.com/questions/20028579/what-is-the-idiomatic-version-of-this-function
Early return is better than nesting. For example:
var adsPat1 = regexp.MustCompile(`\.txt$`)
var adsPat2 = regexp.MustCompile(`_[0-9]{8}\.txt$`)
func addDateSuffix(target string, suffix string) error {
fis, e := ioutil.ReadDir(target)
if e != nil {
return e
}
for _, fi := range fis {
if m1 := adsPat1.FindStringSubmatch(fi.Name()); m1 == nil {
continue
}
if m2 := adsPat2.FindStringSubmatch(fi.Name()); m2 != nil {
continue
}
ext := filepath.Ext(fi.Name())
gn := fmt.Sprintf("%s_%s%s", strings.TrimSuffix(fi.Name(), ext), suffix, ext)
fmt.Println(fi.Name(), "->", gn)
}
return nil
}
Also see this post for more idiomatic go discussion: https://stackoverflow.com/questions/20028579/what-is-the-idiomatic-version-of-this-function
Early return is better than nesting. For example:
var adsPat1 = regexp.MustCompile(`\.txt$`)
var adsPat2 = regexp.MustCompile(`_[0-9]{8}\.txt$`)
func addDateSuffix(target string, suffix string) error {
fis, e := ioutil.ReadDir(target)
if e != nil {
return e
}
for _, fi := range fis {
if m1 := adsPat1.FindStringSubmatch(fi.Name()); m1 == nil {
continue
}
if m2 := adsPat2.FindStringSubmatch(fi.Name()); m2 != nil {
continue
}
ext := filepath.Ext(fi.Name())
gn := fmt.Sprintf("%s_%s%s", strings.TrimSuffix(fi.Name(), ext), suffix, ext)
fmt.Println(fi.Name(), "->", gn)
}
return nil
}
Also see this post for more idiomatic go discussion: http://stackoverflow.com/questions/20028579/what-is-the-idiomatic-version-of-this-function