/
githubmirror
/
syncthing
Обзор
Документация
Войти
/
githubmirror
/
syncthing
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
v2.1.2
lib/stringutil/stringutil.go
46 строк
1 KB
Jakob Borg
all: Remove lib/util package (#9049)
21 авг 2023, 20:44
Не верифицирован
21 авг 2023, 20:44
acd767b
Код
Авторство
О чём код?
// Copyright (C) 2016 The Syncthing Authors. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this file, // You can obtain one at https://mozilla.org/MPL/2.0/. package stringutil import ( "strings" "time" ) // UniqueTrimmedStrings returns a list of all unique strings in ss, // in the order in which they first appear in ss, after trimming away // leading and trailing spaces. func UniqueTrimmedStrings(ss []string) []string { m := make(map[string]struct{}, len(ss)) us := make([]string, 0, len(ss)) for _, v := range ss { v = strings.Trim(v, " ") if _, ok := m[v]; ok { continue } m[v] = struct{}{} us = append(us, v) } return us } func NiceDurationString(d time.Duration) string { switch { case d > 24*time.Hour: d = d.Round(time.Hour) case d > time.Hour: d = d.Round(time.Minute) case d > time.Minute: d = d.Round(time.Second) case d > time.Second: d = d.Round(time.Millisecond) case d > time.Millisecond: d = d.Round(time.Microsecond) } return d.String() }