Go语言类型之声明
在Go语言中,使用type声明定义一个新的命名类型,该类型一定是底层已有的类型,如下所示:
type name underlying-type
类型的声明通常出现在包级别,这里命名的类型在整个包中可见,如果该类型的首字母大写,则其他包也可以访问它。
下面我们一起来看个例子:
package main
import "fmt"
type Celsius float64
type Fahrenheit float64
const (
AbsoluteZeroc Celsius = -273.15
FreezingC Celsius = 0
BoilingC Celsius = 100
)
func CToF(c Celsius) Fahrenheit{
return Fahrenheit(c*9/5 + 32)
}
func FToC(f Fahrenheit) Celsius{
return Celsius((f-32) *5 /9)
}
在上面的示例中,我们定义了两个类型---Celsius(摄氏温度)和Fahrenheit(华氏温度),这是两种不同的计量温度单位。虽然它们使用了相同的底层float64类型,但是含义不同就不能进行直接的比较,我们必须要进行类型转换之后才能进行比较。
命名类型的底层类型决定了它的结构和表达方式,以及它支持的内部操作集合,这些内部操作与直接使用底层类型的情况相同。
好啦,以上就是Go语言赋值的简单介绍,与其它程序设计语言基本类似,我们可以与自己使用的语言进行比较学习,会有更深层次的理解和收获。
如果你有任何问题欢迎与我私信交流~

浙公网安备 33010602011771号