这两个Go代码是否相同?

Iva*_*van 1 go

有这个结构

type Square struct {
    Side int
}
Run Code Online (Sandbox Code Playgroud)

这些功能是否相同?

func (s *Square) SetSide(side int) {
    s.Side = side
}
Run Code Online (Sandbox Code Playgroud)

VS

func SetSquareSide(s *Square, side int) {
    s.Side = side
}
Run Code Online (Sandbox Code Playgroud)

我知道他们也这样做,但他们真的相同吗?我的意思是,有任何内部差异或什么?

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

Zan*_*ynx 6

据我所知,他们的工作方式相同.

一个区别是只有第一个可以满足接口规范.