上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 48 下一页
摘要: go中数组是值类型,赋值和传参操作都会复制整个数组数据 如果需要,可改用指针或切片,以此避免数据复制。 阅读全文
posted @ 2025-02-24 14:33 仁义礼智信的 阅读(6) 评论(0) 推荐(0)
摘要: BenchmarkTest-4 10000 226285 ns/op 530348 B/OP 999 allocs/op 在Go语言的性能测试(通常通过testing包和go test -bench命令运行)结果中,你会看到类似于你提供的这种输出。下面是对每个部分含义的解释: BenchmarkTe 阅读全文
posted @ 2025-02-23 15:49 仁义礼智信的 阅读(44) 评论(0) 推荐(0)
摘要: s := "雨痕\x411\1422\u4F60"fmt.Println(s)fmt.Printf("%s\n", s)fmt.Printf("%x, len: %d\n", s, len(s)) s := "雨痕\x111\1422\u4F60" 然后注释了s = "1",接着三个打印语句,分别是 阅读全文
posted @ 2025-02-23 09:29 仁义礼智信的 阅读(29) 评论(0) 推荐(0)
摘要: 在Linux中,您可以使用多种方法根据文件的修改时间来查看文件。以下是几种常见的命令和选项: 使用 ls 命令 ls 命令提供了按时间排序文件的功能。通过不同的选项,可以指定是按照修改时间(默认)、访问时间还是状态改变时间进行排序。 按修改时间排序(最近修改的文件排在前面): ls -lt 其中 - 阅读全文
posted @ 2025-02-20 11:30 仁义礼智信的 阅读(714) 评论(0) 推荐(0)
摘要: 你提到的代码片段是一个匿名函数,并且它在定义后立即执行(即 IIFE,立即执行函数表达式)。这个匿名函数内部对 z = x / y 的赋值操作能够影响到外部变量的原因在于 Go 语言的作用域规则和闭包机制。 解释 闭包机制: 匿名函数可以访问其定义时所在作用域中的变量。这种特性称为闭包。在你的例子中 阅读全文
posted @ 2025-02-19 08:35 仁义礼智信的 阅读(14) 评论(0) 推荐(0)
摘要: 建议:除非是不可恢复性、导致系统无法正常工作的错误,否则不建议使用panic.例如:文件系统没有操作权限,服务端口被占用,数据库未启动等情况。 阅读全文
posted @ 2025-02-18 09:38 仁义礼智信的 阅读(9) 评论(0) 推荐(0)
摘要: func case() { // 连续调用panic,仅最后一个会被recover捕获。 // 输出 case recovered from you are lucky // 输出 no panic defer func() { for { if err := recover(); err != n 阅读全文
posted @ 2025-02-18 09:08 仁义礼智信的 阅读(10) 评论(0) 推荐(0)
摘要: 在 Go 的 testing 包中,t.Errorf 和 t.Fatalf 都用于报告测试失败,但它们的行为有所不同。以下是两者的详细区别: t.Errorf 作用: 记录一个错误信息,并标记当前测试为失败。 行为: 虽然会记录错误信息并标记测试为失败,但测试函数仍然会继续执行后续的代码。 适用场景 阅读全文
posted @ 2025-02-16 20:45 仁义礼智信的 阅读(43) 评论(0) 推荐(0)
摘要: 千万记住,延迟调用在函数结束时才被执行。不合理的使用方式会浪费更多资源,甚至 造成逻辑错误。 案例:循环处理多个日志文件,不恰当的defer导致文件关闭时间延长。 func main() { for i := 0; i < 10000; i++ { path := fmt.Sprintf("./lo 阅读全文
posted @ 2025-02-15 20:38 仁义礼智信的 阅读(3) 评论(0) 推荐(0)
摘要: 下面代码为什么输出false,但是不注释fmt.Println(&s1, &s2),又输出true package main import "fmt" func main() { var s1, s2 struct{} //fmt.Println(&s1, &s2) fmt.Println(&s1 阅读全文
posted @ 2025-02-13 18:02 仁义礼智信的 阅读(13) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 48 下一页