go语言:类型转换

类型转换用于将一种类型的变量转换为另一种类型的变量。

有以下场景:

package main

import "fmt"

func main() {
	var sum int = 17
	var count int = 5

	mean := sum / count
	fmt.Printf("mean 的值为: %f\n", mean)
}

输出:mean 的值为: %!f(int=3)

上面的代码中,变量sum和count都为整数,通过对两个变量作除法,因为不能整除,所以应该得到一个浮点数,可是最终得到的是一个整数3,因此这里需要用到类型转换,先将sum和count变量转换为float32类型,再作除法,得到的就是我们想要的准确的浮点数了。代码如下:

package main

import "fmt"

func main() {
	var sum int = 17
	var count int = 5

	mean := float32(sum) / float32(count)
	fmt.Printf("mean 的值为: %f\n", mean)
}

输出:mean 的值为: 3.400000

原文地址:https://www.cnblogs.com/liyuchuan/p/11487881.html

时间: 2024-08-30 15:41:34

go语言:类型转换的相关文章

C语言类型转换与原型申明

C语言类型转换与原型申明 关于整型字面值 字面值这个术语是字面常量值的缩写,指定了自身的值,并且不允许发生改变.当有一程序内出现整形字面值时,它是属于整型家庭9种不同类型中的哪一种呢?这取决于如何书写,例如下整型字面值后添加字符L(长整型).U(无符号整型).另外,字符常量(例:'M'.'\377')的类型总是int. 类型转换 c语言中类型转换比一般人想象的要广泛得多.在涉及类型小于int或double的表达式中都可能发生转换.下面程序执行结果是4. printf("%d",size

GO语言学习(十七)Go 语言类型转换

Go 语言类型转换 类型转换用于将一种数据类型的变量转换为另外一种类型的变量.Go 语言类型转换基本格式如下: type_name(expression) type_name 为类型,expression 为表达式. 实例 以下实例中将整型转化为浮点型,并计算结果,将结果赋值给浮点型变量: package main import "fmt" func main() { var sum int = 17 var count int = 5 var mean float32 mean =

C语言---类型转换

itoa 功 能:把一整数转换为字符串 用 法:char *itoa(int value, char *string, int radix); 详细解释:itoa是英文integer to array(将int整型数转化为一个字符串,并将值保存在数组string中)的缩写. 参数: value: 待转化的整数. radix: 是基数的意思,即先将value转化为radix进制的数,范围介于2-36,比如10表示10进制,16表示16进制. * string: 保存转换后得到的字符串. 返回值:

Unity中 Plugin 跨语言 类型转换

Unity 支持Plugin ,有一些代码我们可以用C++ 来编写成 Plugin 供C#调用,但是对于不同语言之间的类型转换就会很纠结.比如说 C# 里面的 string 到C++ 里面是什么?C++里面的string到C#里面是什么? 引自Unity官方的例子 C++咯平台代码如下: Win32/64 #if _MSC_VER // this is defined when compiling with Visual Studio #define EXPORT_API __declspec(

Go语言中调用C语言----类型转换篇

1. 基本类型转换较简单,直接用强制类型转换就可以,如下: Go转换成C: var i int ci := C.int(i) C转换成Go: var i C.int goi := int(i) 2. 字符串类型转换也不是很难,有一点需要注意,就是在将C语言中的char数组转换成Go的string时需要做一点小修改,如下: Go转换成C: var str string cstr := C.CString(str) C转换成Go: /* #include <stdlib.h> #include &

C语言类型转换

int/float to string/array: C语言提供了几个标准库函数,可以将任意类型(整型.长整型.浮点型等)的数字转换为字符串,下面列举了各函数的方法及其说明. itoa():将整型值转换为字符串. ltoa():将长整型值转换为字符串. ultoa():将无符号长整型值转换为字符串. gcvt():将浮点型数转换为字符串,取四舍五入. ecvt():将双精度浮点型值转换为字符串,转换结果中不包含十进制小数点. fcvt():指定位数为转换精度,其余同ecvt(). 除此外,还可以

Go语言类型转换库【github.com/demdxx/gocast】的用法

一.导入库: go get github.com/demdxx/gocast 二.测试代码: // main.go package main import ( "fmt" "reflect" "github.com/demdxx/gocast" ) type AccessRegion struct { region_id int64 `tag:"RegionId"` provider_id int64 `tag:"P

Delphi与C语言类型转换对照

When converting C function prototypes to Pascal equivalent declarations, it's important to substitute the C function and argument types with the correct Pascal types. I often use a Type Translation Table for this, like the following in table 1 (optio

c语言不寻常的类型转换(类型提升)

对于一下代码: printf("%d",sizeof('A')); 你确定他打印的是1吗? 运行之后发现结果是 4 ! C语言 类型转换比一般人想像的还要多,在涉及小于int 和 double 的表达式中 , 都有可能出现类型转换! 根据提升规则:它由char 转换成为 int .这个特性叫做类型提升 ! char c1,c2; ........... c1=c1+c2; 下表给出了常见的类型提升的列表: char -------------------------> int 枚

c语言,数据类型转换

隐式类型转换规则: C语言自动转换不同类型的行为称之为隐式类型转换 ,转换的基本原则是:低精度类型向高精度类型转换,具体是: int -> unsigned int -> long -> unsigned long -> long long -> unsigned long long -> float -> double -> long double 注意,上面的顺序并不一定适用于你的机器,比如当int和long具有相同字长时,unsigned int的精度