首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏人人都是架构师

    Go每日4:go-ini

    go-ini是 Go 语言中用于操作 ini 文件的第三方。 本文介绍go-ini的使用。 所以Int()/Uint()/Float64()返回个值和个错误。 要留意这种不致! 这点与 Go 标准encoding/json和encoding/xml不同。标准json/xml解析时可以将键名app_name对应到字段名AppName。 或许这是go-ini可以优化的点? = nil { fmt.Println("SaveTo failed: ", err) return } 总结 本文介绍了go-ini的基本用法和些有趣的特性。

    57930编辑于 2023-09-12
  • 来自专栏KEN DO EVERTHING

    每日题(4

    = 3; B:float f1 = 3.4; C:float f2 = 3.4f; D:double d = 3.4; 答案:ACD 考点:窄化转换和扩展转换(相关阅读:java"小心机"(1)中的4. 类型转换) 解析: A:3为int型,float类型所存储的范围比int大,即定可以装下int中的数据,会自动进行隐性转换,无需显示转换 B:在java中,若无定义,小数默认为double类型,double 大于float,需做显示转换3.4f或(float)3.4 C:正确 D:默认double,可以定义类型或不加,3.4d也是可以得 每日题 再来道类型转换的题吧 判断题,对与错,为什么 1.short

    37310发布于 2019-01-17
  • 来自专栏code人生

    每日:RabbitMQ

    工作流程 RabbitMQ 的工作流程如下: •生产者将消息发布到个或多个交换机。•交换机根据绑定规则将消息路由到个或多个队列。•消费者订阅队列并接收消息。 4. 消息确认和持久化 RabbitMQ 具有高度的可靠性,它支持消息确认机制,确保消息在成功处理后才从队列中删除。如果消费者在处理消息时发生错误,消息将被重新排队,而不会丢失。 安装 RabbitMQ 客户端 首先,您需要使用 Go 的包管理工具安装 github.com/rabbitmq/amqp091-go 包,可以使用以下命令: go get github.com/rabbitmq 4. 打开通道 在连接上打开个通道(channel),用于进行消息传递操作。通道是轻量级的通信路径,允许您在单个连接上创建多个通道。 定义队列 在发送和接收消息之前,您需要定义个队列。如果队列不存在,它将被创建。

    58320编辑于 2023-10-19
  • 来自专栏卡尼慕

    每日4

    我上网看到了别人个比较鸡贼的算法,太聪明了。

    44520发布于 2019-09-09
  • 来自专栏code人生

    每日:protojson

    google.golang.org/protobuf/encoding/protojson 是 Go 语言中的,用于处理 Protocol Buffers(protobuf)和 JSON 之间的转换 以下是该些主要功能: •将 protobuf 消息转换为 JSON 格式:这是通过 Marshal 或 MarshalOptions.Marshal 函数实现的。 这些函数接收个 protobuf 消息并返回个 JSON 格式的字符串。 这些函数接收个 JSON 格式的字符串和个 protobuf 消息的指针,然后将 JSON 数据解析并填充到 protobuf 消息中。 •支持 Well-Known Types:该提供了对 protobuf 的 Well-Known Types 的特殊处理,例如 Timestamp、Duration、Struct、Value 等。

    1.1K10编辑于 2023-10-16
  • 来自专栏code人生

    每日:sonic

    sonic是个由字节跳动开发并开源的 JSON 解析,由 JIT (即时编译)和 SIMD (单指令流多数据流)来加速序列化/反序列化。 4.考虑到解析和跳过解析之间的速度差异很大, 惰性加载机制当然也在 AST 解析器中使用了,但以种更具适应性和高效性的方式来降低多键查询的开销。 在细节上,进行了些进步的优化: 1.由于 Golang 中的原生汇编函数不能被内联,其成本甚至超过了 C 编译器的优化所带来的改善。 声明:本作品采用署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)[4]进行许可,使用时请注明出处。 asm2asm: https://github.com/chenzhuoyu/asm2asm [3] 这里: https://github.com/bytedance/sonic#benchmarks [4]

    1.1K10编辑于 2023-10-16
  • 来自专栏code人生

    每日:sqlx

    sqlx 是个用于增强 Go 语言标准中 database/sql 包的第三方,它提供了些额外的功能和工具,使得与数据交互更加方便和灵活。 连接数据 在使用 sqlx 之前,你需要先通过 database/sql 包来连接到数据。然后,你可以使用 sqlx.Open 函数来打开个数据连接,并将连接传递给 sqlx.DB 对象。 } // 处理查询结果 for _, user := range users { fmt.Println(user.ID, user.Name) } } 4. 它提供了些方便的方法来处理查询结果、参数绑定以及基本的数据操作,使得与数据交互更加高效和可维护。 licenses/by-nc-sa/4.0/deed.zh [2] mengbin: mengbin1992@outlook.com [3] mengbin: https://mengbin.top [4]

    70230编辑于 2023-10-16
  • 来自专栏code人生

    每日:memcache

    Memcache 是个高性能、分布式的内存缓存系统,常用于缓存数据查询结果、API调用结果、页面内容等,以提升应用程序的性能和响应速度。 4.数据自动过期: Memcache 支持设置数据的过期时间,旦数据过期,系统会自动删除该数据。这可以用于缓存些临时数据,避免占用过多的内存。 8.网络协议: Memcache 使用基于文本的协议进行通信,可以通过 Telnet 或客户端与 Memcache 进行交互。 使用 Memcache 通常需要将数据从数据或其他数据源读取到缓存中,然后在应用程序中读取缓存数据,从而提升读取性能。 licenses/by-nc-sa/4.0/deed.zh [2] mengbin: mengbin1992@outlook.com [3] mengbin: https://mengbin.top [4]

    80020编辑于 2023-10-16
  • 来自专栏code人生

    每日:embed

    访问嵌入文件: 使用 embed 包嵌入的文件是个 string 、 []byte 或 embed.FS 类型的变量,你可以直接在代码中访问它们。在运行时,这些变量会被初始化为嵌入文件的内容。 同时,它只能嵌入在 Go 源代码文件同目录或子目录下的文件或目录。 总之,go embed 是个强大的特性,使得在 Go 代码中嵌入文件变得更加方便和简单,特别是在需要将静态资源或配置文件包含在应用程序中时。

    68110编辑于 2023-10-19
  • 来自专栏code人生

    每日:xorm

    xorm 是个功能强大的 Go 语言 ORM(对象关系映射),提供了许多特点和功能,使得与关系型数据的交互更加便捷、高效。 以下是 xorm 的些主要特点: 1.简化数据操作: xorm 封装了数据操作,使得 CRUD(增删改查)等常见操作更加简单,开发者可以专注于业务逻辑而不必过多关注底层的数据操作。 4.丰富的查询语法: xorm 提供了丰富的查询方法,支持链式操作、条件查询、原生 SQL 查询等。可以通过 Where、And、Or 等方法构建复杂的查询条件。 5.事务支持: xorm 支持事务操作,通过 NewSession 方法来创建会话,可以使用事务来确保组操作的原子性和致性。 然后,你可以使用 xorm.NewEngine 函数来创建个 xorm.Engine 对象,用于执行数据操作。

    1.2K20编辑于 2023-10-16
  • 来自专栏code人生

    每日:JWT

    JWT(JSON Web Token)是种开放标准(RFC 7519),它定义了种紧凑且自包含的方式,用于在各方之间安全地传输信息作为 JSON 对象。 2.自包含(Self-contained):JWT 的载荷中包含了所有用户需要的信息,避免了多次查询数据。 以下是使用 github.com/golang-jwt/jwt 创建和解码 JWT 的 Go 语言示例: 首先,你需要安装 golang-jwt/jwt ,可以通过以下命令进行安装: go get Author: mengbin[2] blog: mengbin[3] Github: mengbin92[4] cnblogs: 恋水无意[5] References [1] 署名-非商业性使用-相同方式共享 licenses/by-nc-sa/4.0/deed.zh [2] mengbin: mengbin1992@outlook.com [3] mengbin: https://mengbin.top [4]

    53620编辑于 2023-10-16
  • 来自专栏code人生

    每日:gosec

    gosec 是个用于在 Go 代码中查找安全问题的开源工具,它可以帮助发现可能的漏洞和潜在的安全风险。以下是关于 gosec 的详细介绍: 1. 安装 可以使用以下命令安装 gosec 工具: go get github.com/securego/gosec/cmd/gosec 4. 以下是些常见的配置选项: 7.1 配置文件 gosec 支持 YAML 和 JSON 格式的配置文件。 Author: mengbin[3] blog: mengbin[4] Github: mengbin92[5] cnblogs: 恋水无意[6] References [1] 这里: https:// 4.0): https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh [3] mengbin: mengbin1992@outlook.com [4]

    59220编辑于 2023-10-16
  • 来自专栏code人生

    每日:Prometheus

    每个时间序列都由组键值对唯标识,这使得数据非常灵活且容易查询。 4.持久性存储: Prometheus 使用本地存储引擎来保存时间序列数据,这使得它能够高效地存储大量数据,并且不需要依赖外部数据。它还支持数据快照和备份。 3.Client Libraries: Prometheus 提供各种语言的客户端,允许应用程序开发者轻松将度量数据暴露给 Prometheus。这些可用于记录自定义应用程序指标。 4.警报和通知: 用户可以定义警报规则,当某些条件满足时,Prometheus 将触发警报。 步骤2:引入 Prometheus Go 客户端 Prometheus 提供了个用于 Go 应用程序的客户端,你需要引入这个以便在应用程序中生成度量数据。

    77320编辑于 2023-10-19
  • 来自专栏code人生

    每日:cmp

    标准 cmp 原文在这里[1] go 1.21 新增 cmp 包提供了与有序变脸比较相关的类型和函数。 请参阅 Compare 函数,以获取致的方式来比较 NaN 值。 github.com/google/go-cmp/cmp github.com/google/go-cmp/cmp 是个 Go 语言中用于比较任意两个值是否相等的4.支持自定义比较函数:你可以编写自定义比较函数,以处理特定类型的值的比较。这允许你在比较复杂的数据结构时定义自己的比较逻辑。 Author: mengbin[3] blog: mengbin[4] Github: mengbin92[5] cnblogs: 恋水无意[6] ---- References [1] 这里: https

    65210编辑于 2023-10-19
  • 来自专栏code人生

    每日:cobra

    github.com/spf13/cobra 是个用于构建强大的命令行应用程序的 Go 语言。 以下是 cobra 的主要特性和用法示例: 主要特性 1.子命令支持:cobra 允许您创建包含多个子命令的命令行工具。这使得您可以组织和管理大型 CLI 应用程序。 4.支持嵌套的子命令:cobra 支持多级嵌套的子命令,使您可以构建具有复杂层次结构的 CLI 工具。5.自定义用法信息:您可以定义自己的用法信息,以便更好地满足您的项目需求。 6.内置的有效命令行解析:cobra 使用标准的 flag 包进行命令行解析,同时提供更高级的功能。 Author: mengbin[2] blog: mengbin[3] Github: mengbin92[4] cnblogs: 恋水无意[5] ---- References [1] 署名-非商业性使用

    56620编辑于 2023-10-19
  • 来自专栏技术开源分享

    go每日

    go本身的包os/exec包含了对应的实现,接下来我们举个例子说明下 执行 go version 打印go版本 package main ​ import ( "fmt" "log" 例如设置工作目录,设置执行超时等特殊需求,这个时候原生的编码就会让人很难受。 今天在这里推荐个可以在linux/windows/darwin 上执行命令的golang开源,这个的Star虽然不是很高,但是封装后的api使用起来还算舒服。 还是通过几个例子来进行下说明 shell脚本 输入文本 package main ​ import ( "fmt" ​ "github.com/commander-cli/cmd" ,大家起学习进步。

    1.3K00发布于 2021-04-04
  • 来自专栏code人生

    每日:Gin

    Gin是个用Go语言编写的Web框架,它旨在提供高性能、轻量级的解决方案。 4.路由组:Gin框架支持路由组,可以将相关的路由分组管理,提高代码的可读性和维护性。5.错误处理:Gin提供了灵活的错误处理机制,可以自定义错误处理函数,方便处理异常情况。 , }) }) // 启动HTTP服务 r.Run(":8080") } 在这个示例中,我们创建了个简单的Gin实例,定义了个GET路由"/hello",当请求该路由时 ,返回个JSON格式的响应。 licenses/by-nc-sa/4.0/deed.zh [2] mengbin: mengbin1992@outlook.com [3] mengbin: https://mengbin.top [4]

    60310编辑于 2023-10-16
  • 来自专栏Python数据结构与算法

    python每日练(4)

    在Python中,[::]是种切片操作符,用于从个序列中选择个子集。其格式为[开始索引:结束索引:步长]。步长表示选择的元素之间的间隔,默认为1(即相邻元素),可以使用负数来反向选择元素。 例如: string = "hello" reverse_string = string[::-1] print(reverse_string) # "olleh" list = [1, 2, 3, 4, 5] reverse_list = list[::-1] print(reverse_list) # [5, 4, 3, 2, 1] (3)判断字母 编写程序,输入字符,是否为字母 #利用.isalpha (4)判断三角形 编写程序,输入三组数据,判断能否构成三角形的三条边 #判断三角形 a = int(input("请输入第条边")) b = int(input("请输入第二条边")) c = 3.准确性:注释要准确地反映代码的意图,避免出现歧义,防止误导其他开发人员 4.语言风格:注释应该符合团队内部的语言风格,避免出现过于口语化或是文艺化的注释,统风格有助于提高文档可读性。

    32510编辑于 2024-01-18
  • 来自专栏code人生

    每日:类型转换

    github.com/spf13/cast 和 strconv 都是 Go 语言中用于类型转换的工具,但它们在功能和使用方式上有些不同。 github.com/spf13/cast github.com/spf13/cast 是个开源的 Go 类型转换,由 Hugo 项目的创始人 Steve Francia 开发。 // 自定义类型转换函数 cast.RegisterConverter(myType{}, customConverter) } strconv strconv 是 Go 语言标准中的个模块 •strconv 是 Go 标准部分,无需引入外部依赖,但对于复杂类型的转换不支持。 在选择使用哪个工具时,需要根据具体的场景和需求来决定。 licenses/by-nc-sa/4.0/deed.zh [2] mengbin: mengbin1992@outlook.com [3] mengbin: https://mengbin.top [4]

    49920编辑于 2023-10-16
  • 来自专栏code人生

    每日:pprof简介

    pprof简介 pprof是Go语言的个性能分析,它可以帮助开发者找出程序中的性能瓶颈。pprof提供了CPU分析、内存分析、阻塞分析等多种性能分析功能。 4.Web界面:pprof提供了个Web界面,开发者可以在这个界面上查看和分析性能数据。 2.启动个HTTP服务器。3.在浏览器中打开http://localhost:8080/debug/pprof/,就可以看到性能数据。4.使用pprof的命令行工具或Web界面进行性能分析。 标准库里的 pprof: 1.依赖关系: 标准库里的 pprof 是 Go 语言的标准中自带的性能分析工具,无需额外的依赖。 3.功能扩展: 标准的 pprof 提供了系列命令行工具和 HTTP 接口,可以进行 CPU 分析、内存分析、堆栈跟踪等。

    75120编辑于 2023-10-19
领券