V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  body007  ›  全部回复第 17 页 / 共 20 页
回复总数  399
1 ... 9  10  11  12  13  14  15  16  17  18 ... 20  
319 天前
回复了 sean908 创建的主题 Windows win10 or win11?
坐等 win11 ltsc ,不出就一直用 win10 ,那个文件管理器还不如我在 win10 上用 clover 呢。
323 天前
回复了 lengyingmofeng 创建的主题 程序员 base 二次解密问题
https://i.imgur.com/DoPoGwV.png

我这边测了也没毛病
324 天前
回复了 fengxsong 创建的主题 求职 苟了这么久,年前毕业了。
sealos 是我当初刚接触 k8s 的部署工具。后来打开 github 相同的仓库让我觉得我是不是之前的书签弄错了,然后就没有然后了🤣
324 天前
回复了 superliwei 创建的主题 分享创造 国产软件征集中文名字
思维白板
324 天前
回复了 zzlit 创建的主题 问与答 求推荐墨水屏阅读器
我用的 iReader (也就是掌阅),导入方式又多又方便。
1. 连接 WiFi ,启用 WiFi 传输,手机扫描二维码在 web 页面上传文件,(电脑连相同 WiFi 浏览器输入地址也行)。
2. 绑定百度网盘,点击网盘里面的文件直接就打开了。
3. USB 传文件都是基操。

支持扫描微信二维码绑定公众号,你把想看的文字或链接发送到公众号,然后在 iReader 上直接同步,打开就能看。

关联印象笔记、有道云笔记等。
支持 PDF 重排(扫描版不行)
我感觉还是国人懂国人,这些需求都挺方便的。
324 天前
回复了 liudada123 创建的主题 职场话题 打工人带焖烧杯解决午饭靠谱吗?
我早上起床炒菜煮饭,中午吃的时候还是热的,压根不用热。头天炒菜放冰箱第二天中午微波炉,感觉营养都流失了。
@cheng6563 你得了解 go 的引用类型,chan 是引用类型,直接返回就是引用。作为返回值,引用类型本身类似指针,返回的就是引用。作为参数在引用类型加指针貌似只有需要修改引用类型的时候才用到吧。
结构体统统用指针,普通类型用值。因为结构体你不知道啥时候加需求往里面加大类型,而且结构体一般会到处传,如果所有地方都用值传递,每次赋值都内存拷贝一份也是有开销的,指针的话只拷贝指针地址更快。

另外 https://www.cnblogs.com/janbar/p/17072751.html 这篇文章探讨了直接赋值的深拷贝问题,即使你值传递,结构体内部有指针,那么这些指针在赋值时也是赋值指针地址。如果用值值类型,你到时候还得思考结构体内部哪些字段是深拷贝,哪些是浅拷贝。

http 提供下面方式克隆对象,就是因为值传递内部字段也存在浅拷贝问题,需要编写深拷贝代码。与其值传递增加心智负担,还不如无脑指针传递。
func (r *Request) Clone(ctx context.Context) *Request {

综上所述,我觉得结构体一律用指针。

我在用的 [go-zero]( https://github.com/zeromicro/go-zero/pull/1211/files#diff-a650192c5b74f391823e44c0b326c07abe5c2544ab386b1ce73ce6b293d78a4c) 框架,在这次改动中将参数值传递改为指针传递,导致我某次升级改了好多文件代码,连大佬都觉得结构体指针传递好些吧。


如果你明确的知道你需要值传递,并且清楚这个对象赋值后内部字段存在浅拷贝也不会影响逻辑,那么可以用值传递。
https://i.imgur.com/rXEcjzD.png
https://i.imgur.com/Snpu7k7.png

建议统一下,我用 git 仓库安装,结果配置好了报错,提示包不存在😂
326 天前
回复了 xlinux 创建的主题 问与答 关于接口参数处理
我们的前端更奇葩,要求他多传的字段我后端要帮他存着,后面详情接口得原样给他返回,我直呼好家伙啊。
326 天前
回复了 hankli 创建的主题 分享创造 全栈程序员看过来~节省你的时间利器!
@hankli #12 嗯嗯,期待后续更新。主要是 fnm 那种创建链接目录的思想让我觉得优秀,能做到每个打开的终端都支持不同版本。
326 天前
回复了 hankli 创建的主题 分享创造 全栈程序员看过来~节省你的时间利器!
@hankli #10 用过 https://github.com/Schniz/fnm ,其中我觉得好的功能就是每个打开的终端都可以使用特定版本,cd 到项目目录自动读取该目录文件自动切换到项目需要的版本。你的这个仓库支持么?我还没细看你这个仓库功能呢。
326 天前
回复了 hankli 创建的主题 分享创造 全栈程序员看过来~节省你的时间利器!
https://github.com/moqsien/gvc

这个库貌似也想做你要做的事。
@theprimone #10 secret 也得保密传输啊,泄露了就等于裸奔了,最好的方式就是定期更新。我自己用自建的 trilium 笔记,自己写 js 代码生成验证码,不用关心自动获取 secret , 我自己也够用了额。

https://i.imgur.com/ESAKaAV.png
@theprimone #7 可以去 github 搜 2fa ,一大堆的命令行生成工具,要的就是本地生成验证码。
@theprimone #7 本来就是啊。OTP 运行的代码建议都在客户端,避免被中间人获取,不然怎么安全嘛,30 秒内有效就更严格的阻止安全问题了。
@huntzhan #5 你这个不科学,密码通过网络传输过,违背 OTP 的初衷。验证码 30 秒内有效,在客户端本地计算才安全。https://github.com/iamyuthan/2FA-Solver ,这里有个纯前端的项目,生成的代码也不复杂。
333 天前
回复了 yujianwjj 创建的主题 Go 编程语言 go 大小写对导出的影响
@nagisaushio 就是要讨论字段 I 被导出,外部可以调用,而 inner 类型不是导出的情况,我只是列出了一种场景吧。
@zed1018 这个感觉不错,单文件部署
https://github.com/go-acme/lego/releases
333 天前
回复了 yujianwjj 创建的主题 Go 编程语言 go 大小写对导出的影响
复制某个 GPT 的回答。

非导出类型包含导出字段的应用场景是合法的。这种情况通常出现在需要将结构体值传递给其他包以进行处理的情况下。为了让其他包能够访问字段,这些字段必须是导出的,但结构体类型本身可以保持为非导出。

举个例子,假设你想要生成一个 JSON 响应。你可以创建一个非导出的结构体,然后为了能够使用 `encoding/json` 包,结构体的字段必须是导出的。例如:

```go
type response struct {
Success bool `json:"success"`
Message string `json:"message"`
Data string `json:"data"`
}

func myHandler(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json;charset=UTF-8")
resp := &response{
Success: true,
Message: "OK",
Data: "some data",
}
if err := json.NewEncoder(w).Encode(resp); err != nil {
// 处理错误
}
}
```

在这个例子中,`response` 结构体是非导出的,但它包含了导出的字段。这使得我们可以在 `myHandler` 函数中创建 `response` 结构体的实例,并将其传递给 `encoding/json` 包来生成 JSON 响应。

总的来说,非导出类型包含导出字段的应用场景通常出现在需要将结构体值传递给其他包以进行处理的情况下。
1 ... 9  10  11  12  13  14  15  16  17  18 ... 20  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1203 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 31ms · UTC 18:24 · PVG 02:24 · LAX 10:24 · JFK 13:24
Developed with CodeLauncher
♥ Do have faith in what you're doing.