V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  AnroZ  ›  全部回复第 2 页 / 共 4 页
回复总数  74
1  2  3  4  
多层调用或多模块间传递变量,又不想老老实实写接口参数,投机的方案就是用全局变量。

当然,为了保证调用上下文的一致性,可以根据逻辑作用域不同,把全局变量分成:全局进程变量、全局线程变量、全局协程变量。

这里,全局协程变量,顾名思义,保证同协程内全局访问到同一个变量,又防止多协程间的访问冲突,当协程结束了,对应的全局协程变量也就回收了。

你可以把 gin.Context 赋值给全局协程变量,前提是得保证用到的地方是同协程内调用,注意下这里的回调会不会切换协程了。

这个投机方案,不知道是否对你有用。
2023-10-11 15:42:36 +08:00
回复了 gadore 创建的主题 日本 国庆期间去日本玩了一趟,想通了
@Tounea 疫情前办理过短签和 3 年签,试过周五晚飞过去周一早上飞回来,记得回来机票都不到 2k ,花费比去国内很多地方还便宜。 语言障碍不大,写中文字大多数日本人也能看懂个大概,再说现在翻译软件不要很好用。签证确实是个问题。
2023-10-11 11:11:12 +08:00
回复了 AnroZ 创建的主题 Pixel 现在入手个 Pixel 6 当备机,有没有什么注意事项。
@Panameragt 可怕,通信上有没有大的问题?
2023-10-09 17:19:50 +08:00
回复了 HHHans 创建的主题 宠物 养了只喵,起什么名字好呢~
感觉会很闹腾,就叫孙大圣吧
2023-09-02 10:16:06 +08:00
回复了 TESTFLIGHT2021 创建的主题 程序员 SQLite 处理 100 万数据点,性能如何?
一般的时序数据记录总条数在 200w ~ 400w 规模,可以直接存 sqlite 。
性能好久没具体统计过了,在普通 PC 上随机查询 1000 条记录,大致在 0.05 秒内。
存储过程中主机异常断电可能会碰到数据库文件损坏的情况,但在打开的时候会有错误提示,修复也比较简单。
2023-08-25 10:38:17 +08:00
回复了 wkong 创建的主题 程序员 一个等保价格差不多 10 几万,有做过的吗
啊,这么贵么。近期有个项目需要做二级等保,地点杭州,不知道各位大佬有没有推荐的代理咨询机构。
2023-08-06 14:59:25 +08:00
回复了 AnroZ 创建的主题 宽带症候群 问一个问题, iOS 通过 HTTP 自动代理无法访问 Instagram?
@firefox12 因为有些 App 通信默认走了 UDP (比如:QUIC ),如果这些 UDP 没被代理的话,就无法正常访问了
#来自网上的信息# 调用 Wait 会自动释放锁 c.L ,并挂起调用者所在的 goroutine ,因此当前协程会阻塞在 Wait 方法调用的地方。如果其他协程调用了 Signal 或 Broadcast 唤醒了该协程,那么 Wait 方法在结束阻塞时,会重新给 c.L 加锁,并且继续执行 Wait 后面的代码。
2023-07-12 12:24:25 +08:00
回复了 Sam99 创建的主题 程序员 如何看待 “Stability AI CEO: 5 年后不再有人类程序员”
照相机发明后,世界上就没有画家这个职业了?
2023-07-12 12:21:55 +08:00
回复了 Ja22 创建的主题 程序员 已经 2023.07 了,刚毕业,人生迷茫,前辈们指点一下
转行的话,也可以搞工业、农业方向的技术、研发或产品这个赛道,互联网赛道太挤了。
2023-06-25 17:48:53 +08:00
回复了 boringwheat 创建的主题 程序员 使用浏览器连接标签打印机的相关问题咨询
理论上 1 中描述的方法是没有问题的,通过系统的打印驱动连接得力打印机去完成打印工作。如果和预期不一样,首先检查下打印驱动有没有问题,再确认下这个产品打印驱动的适配性是否有问题?
不过,针对标签打印机,我们一般都直接把内容生成图片再去打印,效果还可以
2023-06-20 22:41:44 +08:00
回复了 folivora 创建的主题 Go 编程语言 Go 问题请教
建议:
1. 增加下 goroutine 循环退出的响应
2. 习惯性的在这种 goroutine 函数增加一个 defer 函数 处理下异常
3. len 替换 size
4. 收不到 g chan 100 毫秒后再触发超时是不是更合理些,没必要周期性定时 100 毫秒
2023-06-15 00:10:19 +08:00
回复了 unt 创建的主题 程序员 Java Go Node 哪种语言最适合做物联网平台开发
建议 Golang ,不考虑成本直接上 Rust 。
深度比较有价值
虽然目前用不太到,star 支持
2023-06-02 15:21:34 +08:00
回复了 unt 创建的主题 程序员 求问 MQTT 和 TCP 透传优劣
MQTT 的协议层级比 TCP 高,你的问题可类比:TCP 和 HTTP 的优劣势。
但总的来说,MQTT 定义的行为非常适合物联网场景。用 TCP 的话还要去额外实现类似 MQTT 功能,对于平台方来说,不是特别划算。
建议,尽量往 MQTT 方向靠。

至于第二个问题,应该跟 MQTT 和 TCP 无关。
2023-05-27 12:22:38 +08:00
回复了 AngryOrange 创建的主题 程序员 Join us, 为 9k star 开源项目「Qwerty Learner」贡献你的力量!
挺不错的项目,点赞👍
@lightjiao runtime.Stack(buff, true)倒是可以打印所有在运行的堆栈。
但在你这个例子中,因为调用 TestGoException 的 goroutine 其实也早已退出了,所以即使调用 runtime.Stack(buff, true)也是打印不出来的。
如果你想实现你想要的追溯,建议自己增加 log 记录或增加上下文信息
如果在 TestGoException2 函数内可以 recover 的话,是可以通过获取 runtime.Stack 获取调用堆栈信息。比如:
```
func TestGoException2() {
defer func() {
if info := recover(); info != nil {
fmt.Println(info)

buff := make([]byte, 1024)
runtime.Stack(buff, false)

fmt.Println(string(buff))
}
}()

panic("this is a panic")
}
```
2023-05-15 12:54:32 +08:00
回复了 inhzus 创建的主题 程序员 左耳朵耗子于周六晚突发心梗去世
RIP
1  2  3  4  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   892 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 42ms · UTC 22:37 · PVG 06:37 · LAX 14:37 · JFK 17:37
Developed with CodeLauncher
♥ Do have faith in what you're doing.