From b1b4e35a12be7ed6fdf62af0368e781b1eef6e91 Mon Sep 17 00:00:00 2001 From: Eng Zer Jun Date: Tue, 1 Nov 2022 21:13:38 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=20`os.ReadDir`=20=E6=9B=BF=E6=8D=A2?= =?UTF-8?q?=20`Readdir(-1)`=20(#6447)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 下面这段代码 dir, err := os.Open(dirname) if err != nil { return err } defer dir.Close() dirs, err := dir.Readdir(-1) 可以简化成 `os.ReadDir(dirname)`. Signed-off-by: Eng Zer Jun Signed-off-by: Eng Zer Jun --- kernel/bazaar/icon.go | 8 +------- kernel/bazaar/template.go | 8 +------- kernel/bazaar/theme.go | 8 +------- kernel/bazaar/widget.go | 8 +------- kernel/model/appearance.go | 22 +++------------------- 5 files changed, 7 insertions(+), 47 deletions(-) diff --git a/kernel/bazaar/icon.go b/kernel/bazaar/icon.go index 6f7adb7b0..8dec8f65f 100644 --- a/kernel/bazaar/icon.go +++ b/kernel/bazaar/icon.go @@ -96,17 +96,11 @@ func Icons() (icons []*Icon) { func InstalledIcons() (ret []*Icon) { ret = []*Icon{} - dir, err := os.Open(util.IconsPath) - if nil != err { - logging.LogWarnf("open icons folder failed: %s", err) - return - } - iconDirs, err := dir.Readdir(-1) + iconDirs, err := os.ReadDir(util.IconsPath) if nil != err { logging.LogWarnf("read icons folder failed: %s", err) return } - dir.Close() bazaarIcons := Icons() diff --git a/kernel/bazaar/template.go b/kernel/bazaar/template.go index 3e9875452..a19fdae17 100644 --- a/kernel/bazaar/template.go +++ b/kernel/bazaar/template.go @@ -99,17 +99,11 @@ func Templates() (templates []*Template) { func InstalledTemplates() (ret []*Template) { ret = []*Template{} - dir, err := os.Open(filepath.Join(util.DataDir, "templates")) - if nil != err { - logging.LogWarnf("open templates folder [%s] failed: %s", util.ThemesPath, err) - return - } - templateDirs, err := dir.Readdir(-1) + templateDirs, err := os.ReadDir(filepath.Join(util.DataDir, "templates")) if nil != err { logging.LogWarnf("read templates folder failed: %s", err) return } - dir.Close() bazaarTemplates := Templates() diff --git a/kernel/bazaar/theme.go b/kernel/bazaar/theme.go index 3fe782251..658287a79 100644 --- a/kernel/bazaar/theme.go +++ b/kernel/bazaar/theme.go @@ -98,17 +98,11 @@ func Themes() (ret []*Theme) { func InstalledThemes() (ret []*Theme) { ret = []*Theme{} - dir, err := os.Open(util.ThemesPath) - if nil != err { - logging.LogWarnf("open appearance themes folder [%s] failed: %s", util.ThemesPath, err) - return - } - themeDirs, err := dir.Readdir(-1) + themeDirs, err := os.ReadDir(util.ThemesPath) if nil != err { logging.LogWarnf("read appearance themes folder failed: %s", err) return } - dir.Close() bazaarThemes := Themes() diff --git a/kernel/bazaar/widget.go b/kernel/bazaar/widget.go index 6904e8e03..643cd8180 100644 --- a/kernel/bazaar/widget.go +++ b/kernel/bazaar/widget.go @@ -97,17 +97,11 @@ func Widgets() (widgets []*Widget) { func InstalledWidgets() (ret []*Widget) { ret = []*Widget{} - dir, err := os.Open(filepath.Join(util.DataDir, "widgets")) - if nil != err { - logging.LogWarnf("open widgets folder [%s] failed: %s", util.ThemesPath, err) - return - } - widgetDirs, err := dir.Readdir(-1) + widgetDirs, err := os.ReadDir(filepath.Join(util.DataDir, "widgets")) if nil != err { logging.LogWarnf("read widgets folder failed: %s", err) return } - dir.Close() bazaarWidgets := Widgets() diff --git a/kernel/model/appearance.go b/kernel/model/appearance.go index e6e9ebdf4..dda76ce62 100644 --- a/kernel/model/appearance.go +++ b/kernel/model/appearance.go @@ -78,17 +78,11 @@ func unloadThemes() { return } - dir, err := os.Open(util.ThemesPath) - if nil != err { - logging.LogErrorf("open appearance themes folder [%s] failed: %s", util.ThemesPath, err) - return - } - themeDirs, err := dir.Readdir(-1) + themeDirs, err := os.ReadDir(util.ThemesPath) if nil != err { logging.LogErrorf("read appearance themes folder failed: %s", err) return } - dir.Close() for _, themeDir := range themeDirs { if !themeDir.IsDir() { @@ -99,15 +93,10 @@ func unloadThemes() { } func loadThemes() { - dir, err := os.Open(util.ThemesPath) - if nil != err { - logging.LogFatalf("open appearance themes folder [%s] failed: %s", util.ThemesPath, err) - } - themeDirs, err := dir.Readdir(-1) + themeDirs, err := os.ReadDir(util.ThemesPath) if nil != err { logging.LogFatalf("read appearance themes folder failed: %s", err) } - dir.Close() Conf.Appearance.DarkThemes = nil Conf.Appearance.LightThemes = nil @@ -213,15 +202,10 @@ func widgetJSON(widgetName string) (ret map[string]interface{}, err error) { } func loadIcons() { - dir, err := os.Open(util.IconsPath) - if nil != err { - logging.LogFatalf("open appearance icons folder [%s] failed: %s", util.IconsPath, err) - } - iconDirs, err := dir.Readdir(-1) + iconDirs, err := os.ReadDir(util.IconsPath) if nil != err { logging.LogFatalf("read appearance icons folder failed: %s", err) } - dir.Close() Conf.Appearance.Icons = nil for _, iconDir := range iconDirs {