V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  NessajCN  ›  全部回复第 3 页 / 共 46 页
回复总数  916
1  2  3  4  5  6  7  8  9  10 ... 46  
2025 年 8 月 13 日
回复了 chaleaochexist 创建的主题 Go 编程语言 请教 golang 依赖注入的实际问题
@chaleaochexist 都说了接口不是这么用.....
sshClient 显然是个实例,咋会是接口呢。
go 的 interface 是在定义函数时候作为「类泛型」传参用的,你的 sshClient 必然是要初始化然后调方法的,
概念风马牛不相及呀
2025 年 8 月 13 日
回复了 chaleaochexist 创建的主题 Go 编程语言 请教 golang 依赖注入的实际问题
@chaleaochexist 就像我上一个回复内容提到的,你先要弄明白 go 的 interface 究竟是啥。
先把 jvav 思维彻底舍弃才好跟你讲下一步
2025 年 8 月 13 日
回复了 chaleaochexist 创建的主题 Go 编程语言 请教 golang 依赖注入的实际问题
@chaleaochexist 你完全搞错 interface 的用法了,
go 的 interface 跟 jvav 的不是一回事,
你定义了一大堆完全永不上的 interface

go 的 interface 可以类比 python 的 protocol 或 rust 的 trait,
是为了方便你写「非特定类型参数」的函数,或者早期的泛型来用的。
具体的用法是你定义一个 struct 和 interface , 并给 struct 实现 interface 里的函数,
之后你定义的参数为该 interface 的函数就可以直接传这个 struct 的实例了

我的建议还是如 3# 时候讲的,你初始化就初始化 client 然后传引用进 task 函数就好,初始化时候也根本不需要知道 ip

type SSHClient struct {}
func (s *SSHClient) ExecuteCommand(user string, pass string, host string, cmd string) {
// blablabla
}

// 初始化 sshclient 放到 main 函数里, 然后传给下面的 task

func (q *DemoTask) Run(sshClient *SSHClient) {
mIps, _ := q.mIPRepo.GetByType("exampleType") // 这一条也可以大幅简化
for _, mIp := range mIps {
out, _ := sshClient.ExecuteCommand(mIp.Username, mIp.Password, mIp.Ip+":"+mIp.Port, "exampleCommand")
fmt.Println(out)
}
}
2025 年 8 月 12 日
回复了 wanmi 创建的主题 git git 切换分支问题
@a1208340028 反正从 log 来看你 ckeckout 的就是 origin/直 xx 而不是本地直 xx 。
我也不知道你具体咋 checkout 的,猜一下的话是不是本地直 xx 跟远程直 xx 名字有出入…
2025 年 8 月 12 日
回复了 wanmi 创建的主题 git git 切换分支问题
@a1208340028
po 一下你的 git branch 输出
2025 年 8 月 12 日
回复了 wanmi 创建的主题 git git 切换分支问题
bfc86af 这个是 origin/直 xx, 也就是远程仓库的 commit
你提交的那俩都只在本地 commit 了,origin 那边没同步
所以你切回 origin/直 xx 还是 bfc86af
2025 年 8 月 12 日
回复了 Saunak 创建的主题 Visual Studio Code vscode 实时同步代码到远程
sshfs 最靠谱
这也不叫「问题」啊...
todesk 检测到你是国外 ip 当然就给你就近节点连了,
明明非常合理呀
你原本是期望不管全世界哪里用 todesk 都连回国内吗?
2025 年 8 月 12 日
回复了 chaleaochexist 创建的主题 Go 编程语言 请教 golang 依赖注入的实际问题
@chaleaochexist 你直接发代码吧,我怀疑你提了个 xy 问题,
也许你的原始需求有更直接简单的解决法而不用注入来注入去
2025 年 8 月 12 日
回复了 chaleaochexist 创建的主题 Go 编程语言 请教 golang 依赖注入的实际问题
「这个 sshclient 实例化过程只能在 task 中动态生成, 因为 sshclient 需要的 ip 是在 task 中的其他函数获取的.」

没看懂这前后两句话的因果

你建一个 sshclient 的实例,然后在 task 的时候调不就行了。把 ip 当作参数传进去
譬如

sc := NewSshClient()

func task(client *SshClient) {
ip := GetIp()
client.connect(ip)
}

task(&sc)
@CottLin 代码是用来给计算机编译或解释的,你抄纸上做什么,你的白纸有编译功能?
看看阿里那些 app 和项目怕是这个「码神」水平也有待商榷
反正 Linus 和 Fabrice Bellard 我是没听过谁叫他们码神的。不知道这位阿里码神是不是比他们两位还牛逼
重装 vscode (
扫盘的不就是木马,你这木马游戏就非玩不可吗
2025 年 8 月 6 日
回复了 ATKLLL 创建的主题 NAS NAS 老生常谈 自建网盘有什么方案推荐吗
范围限定在同样级别的大项目的话
确实如此
毕竟一个要给人看另一个只有自己看
个人猜测(但是基本可以肯定),Linux 源码要比 Windows 源码优雅很多倍
2025 年 8 月 1 日
回复了 2024 创建的主题 程序员 大家愿意中文编程吗
直接写 C 呗...随便你 define
2025 年 7 月 30 日
回复了 ainyyy 创建的主题 程序员 问老开发一个前后端矛盾的问题
这传什么字段是你们前后端自己定的啊?你们没技术总负责人的吗?项目经理呢?
2025 年 7 月 30 日
回复了 SwaggyMacro 创建的主题 程序员 我不能一个人难受,想看看 V 友们公司逆天的代码
手搓哈希表,然后每次存数据前 while 一遍整个表看有没有重复
https://nee.lv/2021/02/28/How-I-cut-GTA-Online-loading-times-by-70/
2025 年 7 月 30 日
回复了 Dg3gWjbFvvq 创建的主题 程序员 语法最优雅的编程语言是什么?
Python 是适合新手入门,没有谁夸 Python 优雅简洁。
新人觉得简单是因为很多功能标准库帮你实现了,譬如一个简单的数字对象

>>> 12.
12.as_integer_ratio() 12.denominator 12.numerator
12.bit_count() 12.from_bytes( 12.real
12.bit_length() 12.imag 12.to_bytes(
12.conjugate() 12.is_integer()

Python 标准库帮你实现了这么多功能。

如果你要自己写方法来实现,那可一点不简洁也不优雅。
1  2  3  4  5  6  7  8  9  10 ... 46  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2138 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 30ms · UTC 09:12 · PVG 17:12 · LAX 01:12 · JFK 04:12
♥ Do have faith in what you're doing.