go语言中的类型转换
package mainimport ("fmt""math""strconv"
)func main(){// 类型不能混合使用// 1.连接两个字符串,使用+运算符countdown := "Launch in T minus " + "10 seconds."fmt.Println("countdown =",countdown)// 2.如果想连接字符串和数值,是会报错// countup := "hello " + 111 + " world." 报错!!!// fmt.Println(countup)// 3.整型和浮点型不能混着用// age := 18// marsDays := 687// earthDays := 365.982// fmt.Println("I am", age * earthDays / marsDays, "years old on Mars.") 报错// 4.数值类型之间的转换age := 18marsAge := float64(age)fmt.Println(marsAge)// 5.浮点类型转换为整数类型// 可以从浮点类型转化为整数类型,小数点后面的部分会被截断,而不是四舍五入earthDays := 692.4343fmt.Println(int(earthDays))// 6.无符号和有符号整数类型之间的转换// 7.不同大小的整数类型之间也需要转换// 8.类型转换时需谨慎,会发生环绕行为var bh float64 = 32768var h = int16(bh)fmt.Println(h)// 可以通过math包提供的max、min常量,来判断是否超过最大和最小值if bh < math.MinInt16 || bh > math.MaxInt16 {fmt.Println("handle out of range value")}// 9.字符串转换// 把rune、byte转换为stringvar pi rune = 960var alpha rune = 940var omega rune = 969var bang byte = 22fmt.Println(string(pi), string(alpha), string(omega), string(bang))// 把数值转换为string,它的值必须能转换为code pointfmt.Println(string(65))fmt.Println(string(4545453434342))// strconv包的Itoa函数就可以将数值转换为stringcountdown1 := 10str := "Launch in T minus " + strconv.Itoa(countdown1) + " seconds."fmt.Println(str)// Itoa是Integer to ASCII的意思// Unicode是ASCII的超集,它们前128个code points是一样的// 另外一种把数值转换为string的方式是使用Sprintf函数,和Printf类似,但是会返回一个stringcout := 9str1 := fmt.Sprintf("Launch in T minus %v seconds.", cout)fmt.Println(str1)fmt.Printf("Type of %s is %T\n", str1, str1)// strconv包中还有一个Atoi函数// 由于字符串中可能包含任意字符,或者要转换的数字字符串太大,所以Atoi函数可能会发生错误。// 如果err的值为nil,则代表没发生错误。cin, err := strconv.Atoi("10")if err != nil {fmt.Println("no errors")}fmt.Println(cin)// go是静态类型语言,一旦某个变量被声明,那么它的类型就无法再改变了。// 布尔类型// Print家族函数中,会把bool类型的值打印成true/false的文本launch := falselaunchText := fmt.Sprintf("%v", launch)fmt.Println("Ready for launch:", launchText)var yesNo stringif launch {yesNo = "yes"} else {yesNo = "no"}fmt.Println("Ready for launch: ", yesNo)// 注意:如果想使用string(false),int(false),bool(1),bool("yes")等类似的方式进行转换,那么go编译器会报错// 某些语言中,会将1和0当成true和false,但是go语言中不行}
go语言中的类型转换相关推荐
- 理解C#语言中的类型转换----初学者的理解,请大神指教
一下都是在视频教学中学到后的理解,如果说错了请大神指教 C#语言中的类型转换,就是将某个数据要转换成另一个类型的数据. c#语言中的数据类型主要有: char类型(字符类型): string类型(字符 ...
- c语言运算符类型转换,C语言中强制类型转换运算符的独特作用
C语言中强制类型转换运算符的独特作用 在C语言中有一个强制类型转换运算符,它为C语言中的数据类型转换带来 (本文共2页) 阅读全文>> 在进行C++类的设计时,我们常常需要为类对象设计运算 ...
- 【C语言进阶深度学习记录】四 C语言中的类型转换
今天学习C语言中的类型转换,包括隐式类型转换和显示类型转换 文章目录 1 C语言中的数据类型转换 1.1 强制类型转换 1.11 强制类型转换代码分析 1.2 隐式类型转换 1.21 隐式类型转换代码 ...
- c语言int 转bool_深入理解C语言中的类型转换
今日份知识更新,即<深入理解C语言中的类型转换> 文章目录: 一.隐式转换 1.1.基本类型转换 整形提升 算数转换 1.2.指针转换 二.显式转换 隐式转换 基本类型转换 整形提升 表达 ...
- c语言整数除法转换成浮点型,C语言中的类型转换
在C语言中不同类型的数据也可以使用二元运算符进行运算,不过如果不明白其中的规律的话,编出来的程序就会有些危险了. 强制类型转换 自动转换类型 举个例子: /*测试数据的类型转换*/ #include ...
- c语言中怎么转换类型数据类型,C语言中数据类型转换
C语言的类型转换,可以分为两种:自动类型转换(隐式类型转换,有编译器帮你去完成)和强制类型转换(你知道自己想要什么,所以才转换). 对于自动类型转换,最常见的就是混合运算以及赋值运算,还有一种就是函数 ...
- C语言中 强制类型转换
可以利用强制类型转换符将一个表达式转换成所需类型,如: (double)a 将a转换成double型 (int)(x+y) 将x+y的值转换为int型 (float)(7%5) 将7%5的值转换成fl ...
- c语言中强制类型转换
a是整型如果赋值3.14(double类型)会出现错误, 需要强制转换类型
- C语言中强制类型转换题目
//以下结果输出什么? #include <stdio.h>int main() {int a;a=(int)((double)(3/2)+0.5+(int)1.99*2);printf( ...
最新文章
- InnoDB调优-索引优化策略
- 解决umount.nfs: /data: device is busy 问题
- 客户端相关知识学习(一)之混合开发,为什么要在App中使用H5页面以及应用场景、注意事项...
- VMware多虚拟机网络配置
- Selenium备忘手册 [转]
- 全缓冲、行缓冲和无缓冲
- oracle数据库监听频道异常,数据库监听不定期出现异常故障处理
- 无线传感网1-简单介绍
- 素数在c语言中怎么表示,请问素数怎么样表示
- 小米盒子服务器无信号,小米小盒子连接HDMI无信号怎么办?
- 海康威视监控插件使用步骤
- 医疗设备维修保养及常见故障维修技术学习
- 数字滚动(微信小程序)
- OLED显示技术的发展趋势浅析
- 《网络媒体教程》后记
- 上海计算机二级报名无法选择,2020年二级计算机怎么报名上海
- 有关DSP2812与SPI接口DA芯片的通信(AD5640,AD5682)
- 生肖查询php,生肖查询-十二属相年份查询-生肖五行查询-12生肖顺序查询
- 英语话题 Shopping
- 基恩士PLC程序中电机控制原理
热门文章
- MySQL列的别名 insert into select from
- com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'user'
- TickableObjects 和 ITickable
- Android SDK与API版本的对应关系
- 三星对外发售高性能芯片,华为上升势头或受重击!
- maven 安装下载与配置 代理设置 《解决下载慢问题》
- WinAPI: CreateFontIndirect - 根据字体结构建立逻辑字体
- Android应用程序进程启动过程的源代码分析(1)
- 自定义配置app.config
- Office 2007中的简繁体转换功能