收集、管理和分享有用的代码片段,提高开发效率
使用WaitGroup管理goroutine
func runTasks(tasks []func()) {
var wg sync.WaitGroup
wg.Add(len(tasks))
for , task := range tasks {
go func() {
defer wg.Done()
task()
}()
}
wg.Wait()
}
自定义时间格式输出
func formatTime(t time.Time) string {
return t.Format("2006-01-02 15:04:05")
}
删除切片重复元素
func removeDups(s []string) []string {
k := make(map[string]bool)
for , v := range s {
k[v] = true
}
result := []string{}
for key := range k {
result = append(result, key)
}
return result
}
获取带默认值的环境变量
func getEnv(envStr, defaultVal string) string {
if val, exists := os.LookupEnv(envStr); exists {
return val
}
return defaultVal
}
递归遍历目录文件
func listFiles(path string) ([]string, error) {
var files []string
err := filepath.Walk(path, func(path string, info os.FileInfo, err error) error {
if !info.IsDir() {
files = append(files, path)
}
return nil
})
return files, err
}
计算组成金额的最少硬币数
func coinChange(coins []int, amount int) int {
dp := make([]int, amount+1)
for i := 1; i <= amount; i++ {
dp[i] = math.MaxInt32
for _, c := range coins {
if i >= c {
dp[i] = min($p[i], dp[i-c]+1)
}
}
}
if dp[amount] == math.MaxInt32 {
return -1
}
return dp[amount]
}
高效管理您的代码片段,提高开发效率
通过关键字、语言或分类快速查找代码片段,支持模糊搜索和过滤功能
支持多种编程语言的语法高亮,使代码更加清晰易读
随时随地访问您的代码片段库,支持桌面和移动设备
浏览最受欢迎的代码分类