V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  FreeEx  ›  全部回复第 2 页 / 共 28 页
回复总数  556
1  2  3  4  5  6  7  8  9  10 ... 28  
你可以这样写

```
package main

import "log"

type OP string

const (
Add OP = "add"
Mul OP = "mul"
)

type step struct {
op OP
value int64
}

func NewMoney(amount int64) *Money {
return &Money{
amount: amount,
}
}

type Money struct {
amount int64
steps []step
}

func (r *Money) Add(v int64) *Money {
r.steps = append(r.steps, step{
op: Add,
value: v,
})
return r
}

func (r *Money) Mul(v int64) *Money {
r.steps = append(r.steps, step{
op: Mul,
value: v,
})
return r
}

func (r *Money) Run() (int64, error) {
for _, step := range r.steps {
switch step.op {
case Add:
r.amount += step.value
case Mul:
r.amount -= step.value
}
}
return r.amount, nil
}

func main() {
val, err := NewMoney(123).Add(456).Mul(123).Run()
if err != nil {
log.Fatal(err)
}

log.Println(val)
}

```
292 天前
回复了 callmesmc 创建的主题 问与答 微信朋友圈替代?
QQ 空间。
抖音外卖上线很久了,但是身边人从来都没有用过,这是为什么?
300 天前
回复了 drainlin 创建的主题 Apple 非科班应届硕士面试 iOS 初级开发被打击到了
不必太在意,很多公司技术都是草台班子,技术不到位,面试的时候只能去网上找一些八股文去问,工作的时候完全用不到。
302 天前
回复了 vihv 创建的主题 程序员 成都的工资太低了吧
没有这么低,但是也不高。
--add-host=host.docker.internal:host-gateway
搞错了,是这个命令
docker run --add-host=host.docker.internal:宿主机 IP
你在容器里面访问 host.docker.internal 即可。
308 天前
回复了 0tachikoma0 创建的主题 职场话题 要不要回二线城市,比如成都
不建议。
309 天前
回复了 hackun 创建的主题 奇思妙想 为什么苹果不开发儿童或者青少年的产品
看过黑镜第四季《 ArkAngel 》这集吗?
多赚点钱买一个大房子
住在几楼呢?
312 天前
回复了 kylebing 创建的主题 分享创造 发呆页面 canvas 随机连线 数字混沌艺术
很有创意
比完美更重要的是完成。
330 天前
回复了 n1cogrv 创建的主题 分享发现 [转载] 我在北邮被偷喜茶后的 161 个小时
支持
golang 不支持方法重载。

https://go.dev/doc/faq#overloading

> 为什么 Go 不支持方法和运算符的重载?
> 如果方法分派也不需要进行类型匹配,则它会得到简化。使用其他语言的经验告诉我们,具有相同名称但不同签名的各种方法偶尔有用,但在实践中也可能令人困惑和脆弱。仅按名称匹配并要求类型一致是 Go 类型系统中的一个主要简化决策。

> 关于运算符重载,它似乎比绝对要求更方便。同样,没有它,事情会更简单。
把 list 换成 slice 就好了,golang 里面的 list 很少使用。
建议使用系统服务的方式启动,这样挂了自动拉起,开机自启动啥的都搞定了。
看来好多人是不懂网络安全的
原来如此,感觉还挺好玩的
363 天前
回复了 Chishicom 创建的主题 分享创造 吃屎工具
1  2  3  4  5  6  7  8  9  10 ... 28  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   989 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 39ms · UTC 20:47 · PVG 04:47 · LAX 13:47 · JFK 16:47
Developed with CodeLauncher
♥ Do have faith in what you're doing.