Go 是否可以将变量“嵌入变量”添加到结构中?

Go 是否可以将变量“嵌入变量”添加到结构中?,go,struct,types,Go,Struct,Types,上面将为UserModel类型分配一个嵌入式结构,Go是否允许对VAR或CONST执行相同的操作 差不多 type UserModel struct { ... } func (u *UserModel) C() string { return "system_users" } 你明白了。方法 方法是具有绑定到类型的接收器的函数。接收方可以获取一个值或一个指向方法绑定到的类型的指针 Go by example提供了以下好处: 是的,您可以在除了接口之外的几乎所有现有类型上定义

上面将为UserModel类型分配一个嵌入式结构,Go是否允许对VAR或CONST执行相同的操作

差不多

type UserModel struct {
    ...
}

func (u *UserModel) C() string {
    return "system_users"
}
你明白了。

方法 方法是具有绑定到类型的接收器的函数。接收方可以获取一个值或一个指向方法绑定到的类型的指针

Go by example提供了以下好处:

是的,您可以在除了接口之外的几乎所有现有类型上定义方法。此外,它必须是非内置包中定义的本地类型

type rect struct {
    width, height int
}

// This `area` method has a _receiver type_ of `*rect`.
func (r *rect) area() int {
    return r.width * r.height
}

// Methods can be defined for either pointer or value
// receiver types. Here's an example of a value receiver.
func (r rect) perim() int {
    return 2*r.width + 2*r.height
}
嵌入 推广有效的一点:

嵌入类型的方法是免费提供的。这意味着,如果类型B嵌入到类型A中,那么类型A不仅有自己的方法,而且还有类型B的方法

扩展前面的示例:

type Int int

func (i Int) Add(j Int) Int {
    return i + j
}

上面的代码如何将嵌入式结构分配给tyoe UserModel?您的代码只定义了一个类型并为该类型添加了一个方法。有关结构类型和嵌入字段的定义,请参阅。此问题可能是投票失败的原因,因为没有嵌入。它是一个带有方法的结构。可以为其他类型定义方法。@I159我想键入ohh dude之类的东西太繁琐了,这些都是方法,而不是嵌入式结构。哈哈,好吧,thanks@borislemke,您还需要关于不同类型的方法定义的答案吗?
type Int int

func (i Int) Add(j Int) Int {
    return i + j
}
type parallelogram struct {
    rect // Embedding. parallelogram has area and perim methods
    depth int
}

func (p parallelogram) volume () int { // Extending rect
    // Volume logic
}