上一页 1 2 3 4 5 6 ··· 9 下一页
摘要: cancel() 取消的是上下文(context)本身,而不是正在执行的协程。 因此,协程的取消是通过 context 的取消信号来间接实现的。 具体地,协程会在收到 context 的取消信号后自行决定是否退出。 如何使用 cancel() 取消协程? 协程通常会通过检查 context 的状态来 阅读全文
posted @ 2024-11-24 11:27 牛马chen 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 在 Go 中,context 和 channel 都是并发编程中非常重要的工具,但它们有不同的用途和功能。以下是它们之间的主要区别: 1. 主要用途 context: context 主要用于在多个协程之间传递请求范围的数据、取消信号和超时设置。它通常用于控制和管理协程的生命周期,尤其是在处理跨协程 阅读全文
posted @ 2024-11-24 11:25 牛马chen 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 什么是 context? context 是 Go 标准库中用来管理任务生命周期和跨 API 数据传递的工具。它的主要应用场景是在并发编程中,尤其是处理像 HTTP 请求这样有超时限制或需要手动取消的任务。 为了更通俗地理解,可以把 context 想象成一个任务的「管理员」,它可以: 通知任务何时 阅读全文
posted @ 2024-11-24 11:05 牛马chen 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 什么是 package? package 是 Go 的代码组织单元,用于将功能相关的代码分组到一起。 每个 Go 文件都属于某个 package,通过 package 声明指定。 一个 package 下可以包含多个 Go 文件,它们共享该 package 的作用域和功能。 package 和 Go 阅读全文
posted @ 2024-11-20 15:30 牛马chen 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 想象你去一场大型活动现场,需要通过门禁: Cookie:像入场凭证卡 你拿到的是什么? 活动方发给你一张纸质入场凭证卡(Cookie)。 它怎么用? 每次你进出场地时,保安看你的卡确认你能进场。 保安做了什么? 把你的卡和后台系统核对,确认你是合法参与者。 特点: 好处:卡上写着你的基本信息,很容易 阅读全文
posted @ 2024-11-18 10:35 牛马chen 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 在 Web 开发中,自定义路由器(即自定义 ServeMux 实例)可以带来更大的灵活性和控制。 1. 需要不同的路由策略 默认的 DefaultServeMux 适合简单的 URL 路由需求,但在一些更复杂的场景下(例如需要动态路由、参数化路径等),自定义路由器或第三方路由库(如 gorilla/ 阅读全文
posted @ 2024-11-01 10:57 牛马chen 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 在编程中,回调函数是一种作为参数传递给另一个函数的函数。这种函数在接收函数中被调用,用来完成特定的任务。回调函数允许将不同的操作和逻辑分离,使代码更灵活和模块化。 回调函数的概念 传递函数作为参数:回调函数通过参数传递给另一个函数,并在接收函数内部被调用。 延迟执行:回调函数的执行时机通常由接收函数 阅读全文
posted @ 2024-11-01 10:56 牛马chen 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 在 Go 语言中,类型断言用于将接口类型的变量转换为具体类型,以便能够访问其底层值。它在操作空接口(interface{})时尤其有用,因为空接口可以持有任意类型的值。 类型断言的语法 类型断言的基本语法如下: value, ok := interfaceVariable.(TargetType) 阅读全文
posted @ 2024-10-31 14:47 牛马chen 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 在 Go 语言中,make 是一个内置函数,专门用于分配和初始化 slice(切片)、map(映射) 和 channel(通道) 三种数据类型。 **make 函数不会返回一个指针,而是返回初始化后的数据结构本身的引用**。 make 函数的用途 make 的主要作用是为这些引用类型的数据结构分配内 阅读全文
posted @ 2024-10-31 14:43 牛马chen 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 在 Go 语言中,Channel 是一种用于在多个 Goroutine 之间传递数据的通信机制。 Channel 提供了类型安全、同步的数据传输方式,使 Goroutine 可以相互通信而无需使用锁。 1. Channel 的定义与声明 在 Go 中,可以使用 make 函数创建 Channel,并 阅读全文
posted @ 2024-10-31 14:36 牛马chen 阅读(7) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 9 下一页