From 5495c98e6378a108377783fc4282d8e938f4e101 Mon Sep 17 00:00:00 2001 From: dashangcun <907225865@qq.com> Date: Fri, 7 Feb 2025 09:21:24 +0100 Subject: [PATCH] refactor: using slices.Contains to simplify the code (#9918) ### Purpose This is a [new function](https://pkg.go.dev/slices@go1.21.0#Contains) added in the go1.21 standard library, which can make the code more concise and easy to read. ### Testing Describe what testing has been done, and how the reviewer can test the change if new tests are not included. ### Screenshots If this is a GUI change, include screenshots of the change. If not, please feel free to just delete this section. ### Documentation If this is a user visible change (including API and protocol changes), add a link here to the corresponding pull request on https://github.com/syncthing/docs or describe the documentation changes necessary. ## Authorship Your name and email will be added automatically to the AUTHORS file based on the commit metadata. Signed-off-by: dashangcun <907225865@qq.com> Co-authored-by: Jakob Borg --- lib/config/optionsconfiguration.go | 9 ++------- lib/model/devicedownloadstate.go | 9 +++------ 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/lib/config/optionsconfiguration.go b/lib/config/optionsconfiguration.go index 6d732f306..eecf34dda 100644 --- a/lib/config/optionsconfiguration.go +++ b/lib/config/optionsconfiguration.go @@ -9,6 +9,7 @@ package config import ( "fmt" "runtime" + "slices" "github.com/syncthing/syncthing/lib/protocol" "github.com/syncthing/syncthing/lib/rand" @@ -268,13 +269,7 @@ func (opts OptionsConfiguration) AutoUpgradeEnabled() bool { } func (opts OptionsConfiguration) FeatureFlag(name string) bool { - for _, flag := range opts.FeatureFlags { - if flag == name { - return true - } - } - - return false + return slices.Contains(opts.FeatureFlags, name) } // LowestConnectionLimit is the lower of ConnectionLimitEnough or diff --git a/lib/model/devicedownloadstate.go b/lib/model/devicedownloadstate.go index 9fe3a3552..13059499a 100644 --- a/lib/model/devicedownloadstate.go +++ b/lib/model/devicedownloadstate.go @@ -7,6 +7,8 @@ package model import ( + "slices" + "github.com/syncthing/syncthing/lib/protocol" "github.com/syncthing/syncthing/lib/sync" ) @@ -40,12 +42,7 @@ func (p *deviceFolderDownloadState) Has(file string, version protocol.Vector, in return false } - for _, existingIndex := range local.blockIndexes { - if existingIndex == index { - return true - } - } - return false + return slices.Contains(local.blockIndexes, index) } // Update updates internal state of what has been downloaded into the temporary