代码片段仓库

收集、管理和分享有用的代码片段,提高开发效率

代码片段

并发任务执行 Go

使用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()
}
时间格式化 Go

自定义时间格式输出

func formatTime(t time.Time) string {
	return t.Format("2006-01-02 15:04:05")
}
切片去重 Go

删除切片重复元素

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
}
环境变量读取 Go

获取带默认值的环境变量

func getEnv(envStr, defaultVal string) string {
	if val, exists := os.LookupEnv(envStr); exists {
		return val
	}
	return defaultVal
}
目录遍历 Go

递归遍历目录文件

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
}
动态规划-零钱兑换 Go

计算组成金额的最少硬币数

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]
}

为什么选择CodeSnippets?

高效管理您的代码片段,提高开发效率

智能搜索

通过关键字、语言或分类快速查找代码片段,支持模糊搜索和过滤功能

语法高亮

支持多种编程语言的语法高亮,使代码更加清晰易读

多设备同步

随时随地访问您的代码片段库,支持桌面和移动设备

热门分类

浏览最受欢迎的代码分类