这篇文章主要给大家介绍“Golang中如何实现强制类型转换和类型断言”的相关知识,下文通过实际案例向大家展示操作过程,内容简单清晰,易于学习,有这方面学习需要的朋友可以参考,希望这篇“Golang中如何实现强制类型转换和类型断言”文章能对大家有所帮助。1.强制类型转换
golang是强类型语言,但是和c++,Java不太一样的是,go中没有隐式类型转换,go中的类型转换只有:强制类型转换和断言
在java中:
public static void main(String[] args){
int a = 1;
double b = 1.0;
System.out.println(a * b);
}
double
但是在go中是会报错的:

需要进行强制类型转换:
func Test() {
var a int = 1
var b float32 = 1.0
fmt.Println(float32(a) * b)
}
go中的强制类型转换为:
type(v)
intfloatstring type (a)
比如:
var a int32 = 10 var b int64 = int64(a) var c float32 = 12.3 var d float64 =float64(c)
unsafe
func Test() {
var a int =10
var b *int =&a
var c *int64 = (*int64)(unsafe.Pointer(b))
fmt.Println(*c)
}
2.类型断言
go中的类型判断则是判断一个变量是否属于某一种类型
func Test() {
var a interface{} = 10
_,isInt := a.(int) // 进行类型的断言的变量必须是空接口
if isInt{
fmt.Println(a)
}
}
形式如下:
interface{}.(type)
感谢各位的阅读,以上就是“Golang中如何实现强制类型转换和类型断言”的内容了,通过以上内容的阐述,相信大家对Golang中如何实现强制类型转换和类型断言已经有了进一步的了解,如果想要了解更多相关的内容,欢迎关注群英网络,群英网络将为大家推送更多相关知识点的文章。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。