教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 golang中的类型及类型转换指南

golang中的类型及类型转换指南

发布时间:2023-01-21   编辑:jiaochengji.com
教程集为您提供golang中的类型及类型转换指南等资源,欢迎您收藏本站,我们将为您提供最新的golang中的类型及类型转换指南资源

在这篇文章中,我们将研究golang中使用的不同数据类型,以及如何在不同数据类型间进行转换。在我们研究类型转换的不同方法之前,让我们先来讨论一下golang中一些最常用的数据类型。

golang中的数据类型

下面是您将在golang中使用到的几种数据类型:

  • 布尔(bool)类型。它用来存储一组布尔真值,它可以是true或false.
  • 字符串(string)类型。golang中的字符串,是使用给定的字符编码方案,实现存储一系列字符的字节。[A Golang string is implemented as a set of bytes that store a sequence of characters, using a given character encoding scheme.]
  • 整型(int)类型。golang中的int数据类型,可以存储不同大小的整型数据,包括8位的int8,16位的int16,32位的int32以及64位的int64。
  • 无符号(unit)类型。它表示无符号整数(长度不同的整数类型)。例如, uint8 为 8位, uint8 用于 16位, uint8 用于 32位, uint8 用于64位。
  • 字节(byte)类型。它存储8位的整数值,和uint8一样
  • 浮点型(float32、float64)类型。它用于存储32位以及64位的浮点型数值。
  • 复数(complex64、complex128)类型。它用于表示64位以及128位的复数。

那关于类型转换呢?

那么,类型转换允许程序员将一种数据类型转换成另外一种数据类型。你可能会问:我为什么要在golang中进行类型转换呢?好吧,如果你需要使用数据类型层面的某些特性,那你就不得不将数据实体从一种数据类型转换为另外一种数据类型。

比如,如果你有一个字节或者unit8的数据,而且,你希望将它转换成更大的数据类型来进行算术运算,那么你就需要用到类型转换。所以,你准备好开始学习golang的类型转换了吗?

让我们更深入一些吧!

在golang中,我们使用表达式T(v)的格式来将数据v转换成类型T的数据。下面的例子说明了如何将数值从一种数据类型转换成另外一种数据类型:

var amount int = 80
var amount2 float64 = float64 (amount)
var amount3 uint = uint (f)

可以简化成:

amount: = 80
amount2:= float64 (amount)
amount3:= uint (f)

golang中类型转换,需要注意的几点是:如果对不同的数据类型赋值,则必须进行显示转换。这就是为什么在golang的类型转换中,区分使用": =" 或 "var = 表达"是很重要的。

例如,当声明一个变量而不指定为显式数据类型 (通过使用 “: = 语法” 或 “var = 表达式语法”) 时,将从右侧显示的值推断变量的数据类型。如果声明的右侧是类型化的, 则新变量将具有相同的数据类型。下面是例子:

var amount int
amount1:= amount // In this case, amount is of int data type

现在,当等式右边是一个不确定类型的数据会时,发生什么情况呢?那么,当等式右边是一个不确定类型的数值常量时,则变量(在这个例子中是amount1)可能会根据你给定的常量的精度,被赋值一个int,float64,甚至complex128的数值。

下面的示例,刚好说明了这一点:

i: = 42             // This is an int data type depending on the accuracy. 
pi: = 3.142         // This is a float64 data type depending on the precision. 
b := 0.867   0.5i   // This is a complex128 depending on the precision. 

原文链接:http://blog.stoneriverelearning.com/a-guide-to-types-and-casting-in-golang/

到此这篇关于“golang中的类型及类型转换指南”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
golang中接口的内部实现
Golang基础入门01 | 简介
Golang interface 接口要点梳理
go 获取函数地址_Go语言基础--接口浅析
goLang 类型断言 type assertion
golang基础教程
Golang 标准库:strconv 包的应用
Go语言学习 第五章 运算符和表达式 ②
Django入门指南06-论坛项目模型
golang make和map的区别

[关闭]
~ ~