Go语言基础编程:Golang中的类型转换

时间:2019-10-31 作者:golang

Go语言基础编程:Golang中的类型转换

当我们将一种数据类型的值分配给另一种数据类型时,就会发生类型转换。静态类型的语言(例如C/C ++,Java)提供对隐式类型转换的支持,但Golang有所不同,因为即使数据类型兼容,它也不支持自动类型转换或隐式类型转换。原因是Golang的Strong Type System不允许这样做。对于类型转换,必须执行显式转换。
根据Golang规范,Golang中没有类型转换词或术语。如果您尝试在Golang规范或文档中搜索类型转换,您将找不到类似的内容。只有类型转换。在其他编程语言中,类型转换也称为类型转换。

类型转换需要什么?
如果您需要利用数据类型层次结构的某些特征,那么我们必须将实体从一种数据类型更改为另一种数据类型。要值转换的一般语法VAL到类型T 是 T(val)) 。

例子:

var geek1 int = 845

//显式类型转换
var geek2 float64 = float64(geek1)

var geek3 int64 = int64(geek1)

var geek4 uint = uint(geek1)

//go语言查找
//平均数
package main

import "fmt"

func main() {

//获取所需的
//将数据转换为变量
var totalsum int = 846
var number int = 19
var avg float32

//显式类型转换
avg = float32(totalsum) / float32(number)

//显示结果
fmt.Printf("Average = %f\n", avg)
}

 

输出:

Average= 44.526318

 

注意:由于Golang具有强大的类型系统,因此不允许在表达式中混合使用数字类型(例如加,减,乘,除等),也不允许在两个混合类型之间执行赋值类型。

例子:

var geek1 int64 = 875

//由于我们会产生编译时错误
//正在执行
//混合类型,即int64作为int类型
var geek2 int = geek1

var geek3 int = 100

//产生编译时间错误
//因为这是无效的操作
//因为类型是混合的,即
// int64和int
var addition = geek1 + geek3

 

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:2100506673@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。