Go 类型和类型=之间有什么区别

Go 类型和类型=之间有什么区别,go,Go,我是刚来戈朗的。很抱歉,我仍然不清楚以下两者之间的区别: type <Name> <dataType> 输出 strWord = gopher, Type of Value = main.Word strText = golang, Type of Value = string 那么,我们应该在两者之间何时使用呢?第一个是类型声明,第二个是类型别名 类型声明 文件: 这允许您使用基础类型创建新的独特类型 您可以定义如下内容: type Password string

我是刚来戈朗的。很抱歉,我仍然不清楚以下两者之间的区别:

type <Name> <dataType>
输出

strWord = gopher, Type of Value = main.Word
strText = golang, Type of Value = string

那么,我们应该在两者之间何时使用呢?

第一个是类型声明,第二个是类型别名

类型声明 文件:

这允许您使用基础类型创建新的独特类型

您可以定义如下内容:

type Password string
然后为它重新实现String方法,这样就不会意外地打印它

func (p Password) String() string {
    return "<redacted>"
}

您现在可以互换地使用other.Bar和mypackage.Foo。它们是同一类型,有不同的名称。而类型声明是一种新类型。

感谢您的示例和详细解释:
type Password string
func (p Password) String() string {
    return "<redacted>"
}
package mypackage
type Foo struct {}


package other
type Bar = mypackage.Foo