go - 这两段 Go 代码是否等价?

标签 go

有这个结构

type Square struct {
    Side int
}

这些函数等价吗?

func (s *Square) SetSide(side int) {
    s.Side = side
}

对比

func SetSquareSide(s *Square, side int) {
    s.Side = side
}

我知道它们一样,但它们真的等同吗?我的意思是,是否存在任何内部差异或其他原因?

在线试用:https://play.golang.org/p/gpt2KmsVrz

最佳答案

据我所知,它们的工作方式相同。

一个区别是只有第一个可以满足接口(interface)规范。

关于go - 这两段 Go 代码是否等价?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35065179/

相关文章:

go - 如何在 Golang 中以编程方式将进程(应用程序)优先级从“正常”更改为“低”

java - Hazelcast(Java)和 ETCD(golang)的区别/相似之处?

Golang amazon s3 如何更快地上传图像

regex - Golang 正则表达式替换不包括带引号的字符串

json - 通过 API 调用在 Go 中处理 JSON 数据

go - 什么是整数类型?

ssl - Golang : tls. 连接升级后握手挂起

去 Gin : Validating base64

json - 递归地合并 JSON 对象

go - 如何获取 strings.Contains 中的结果数?