go中基本数据类型的相互转换
代码
// 基本数据类型的相互转换
package main
import (
// 如果一个包没有被使用过,但又不想去掉,可在包名前加"_ "表示忽略
// 比如:_ "unsafe"
"fmt"
_ "unsafe"
)
func main() {
// n1为int类型
var n1 int = 100
// n2为int64类型,将n1赋值给n2的时候,需要将n1显式的转换为int64类型
var n2 int64 = int64(n1)
// 同上,需要将n1显式转换为int8类型
var n3 int8 = int8(n1)
// 同上,需要将n1显式转换为float32类型
var f1 float32 = float32(n1)
// 格式化输出结果
// 可以看出不管将n1显式转换为什么类型,最后n1自身的类型仍然不变还是int类型
fmt.Printf("n1 = %v, n2 = %v, n3 = %v, f1 = %v, 最后n1的类型为%T\n", n1, n2, n3, f1, n1) // n1 = 100, n2 = 100, n3 = 100, f1 = 100, 最后n1的类型为int
// n4为int32类型
var n4 int32 = 1000
// n5为int8类型,将n4赋值给n5,需要将n4从
// int32显式转换为int8,此时n4的值为1000大
// 于int8的最大值127,此时会按溢出处理,最终
// 输出的结果会与之前的不一样,输出-24
var n5 int8 = int8(n4)
// 格式化输出结果
fmt.Printf("n4 = %v, n5 = %v\n", n4, n5) // n4 = 1000, n5 = -24
// 练习1
var t1 int32 = 12
var t2 int64
var t3 int8
// t1 + 50 是int32类型
// 需要将t1转换为int64
t2 = int64(t1) + 50
// t1 + 50 是int32类型
// 需要将t1转换为int8
t3 = int8(t1) + 50
// 格式化输出结果
fmt.Printf("t1 = %v, t2 = %v, t3 = %v\n", t1, t2, t3) // t1 = 12, t2 = 62, t3 = 62
// 练习2
var t4 int32 = 15
var t5 int8
var t6 int8
// 输出结果会按溢出处理,但是编译时不会报错
t5 = int8(t4) + 127
// 报错:constant 128 overflows int8,编译无法通过
// t6 = int8(t4) + 128
fmt.Printf("t4 = %v, t5 = %v, t6 = %v\n", t4, t5, t6) // t4 = 15, t5 = -114, t6 = 0
}
总结

go中基本数据类型的相互转换的更多相关文章
- Java 中常见数据类型的相互转换
1.将String 转化成 long , 转化成 double String 转化成 long : long i = Long.parseLong(String s); 或 long i = L ...
- java中基本数据类型、包装类及字符串之间的相互转换
基本数据类型:不支持面向对象的编程机制(没有属性和方法),即不支持面向对象,之所以提供8中基本数据类型,是为了方便常规数据的处理. 包装类:通过包装类可以将基本数据类型的值包装为引用数据类型的对象,使 ...
- 字节流与数据类型的相互转换---使用struct模块
字节流与数据类型的相互转换---使用struct模块 http://blog.csdn.net/Sunboy_2050/article/details/5974029 Python是一门非常简洁的语言 ...
- python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍
目录 python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 2.元祖变量的定义 3.元祖变量的常用操作. 4.元祖的遍历 5.元祖的应用场景 p ...
- day07(数据类型的相互转换 ,字符编码)
一,复习: ''' 1,深浅拷贝 ls = [1,'a',[10]] 值拷贝:直接赋值 ls1 = ls,ls中的任何值发生改变,ls1也随之发生改变 浅拷贝:通过copy()方法 ls2 = ls. ...
- 零基础学习java------day2------关键字、标志符、常量、进制键的转换、java中的数据类型、强制类型转换的格式
今日内容要求: 1. 了解关键字的概念及特点,了解保留字 2. 熟练掌握标识符的含义,特点,可使用字符及注意事项 3. 了解常量的概念,进制,进制之间相互转换,了解有符号标识法的运算方式 4. 掌握变 ...
- JavaScript 中的数据类型
Javascript中的数据类型有以下几种情况: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Function,Date,Ar ...
- hibernate中java类的成员变量类型如何映射到SQL中的数据类型变化
hibernate映射文件??.hbm.xml配置映射元素详解--Hibernate映射类型 在从Hibernate的java的成员类型映射到SQL中的数据类型,其内映射方式它满足,SQL可以自己调制 ...
- js中的数据类型
JS中的数据类型: ——数字 (number)NaN ——字符串(string) ——布尔 (boolean)——函数 (function) 也是对象的一种 ——对象 (object) ...
随机推荐
- 微信小程序-wxml-空格
必须要在<text>标签中 先在标签中写decode="{{true}}"然后 就代表空格了 占一个中文字符
- Spring read-only="true" 只读事务的一些概念
概念:从这一点设置的时间点开始(时间点a)到这个事务结束的过程中,其他事务所提交的数据,该事务将看不见!(查询中不会出现别人在时间点a之后提交的数据) 应用场合: 如果你一次执行单条查询语句,则没有必 ...
- Oulipo【Hash】
Oulipo Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 45515 Accepted: 18181 Descript ...
- R 动态定义变量名 assign
rm(list=ls()) library(GSVA) library(GSEABase) library(GSVAdata) library(msigdbr) library(org.Hs.eg.d ...
- 大数据笔记(八)——Mapreduce的高级特性(A)
一.序列化 类似于Java的序列化:将对象——>文件 如果一个类实现了Serializable接口,这个类的对象就可以输出为文件 同理,如果一个类实现了的Hadoop的序列化机制(接口:Writ ...
- MySQL Schedule Event
建立事件历史日志表-- 用于查看事件执行时间等信息create table t_event_history ( dbname varchar(128) not null default ' ...
- java中的 sleep() 和 wait() 有什么区别?
1.每个对象都有一个锁来控制同步访问,Synchronized关键字可以和对象的锁交互,来实现同步方法或同步块.sleep()方法正在执行的线程主动让出CPU(然后CPU就可以去执行其他任务),在sl ...
- Spring_Boot 简单例子
第一步创建项目: 创建项目地址:https://start.spring.io/ 接下来就下载到本地了 跟着加压 接着用idea打开:等待资源下载完成 我写了个简单的:增删改查 项目结构: dao层: ...
- [转] python关于ctypes使用char指针与bytes相互转换的问题
最近研究人脸识别,需要用python调用so动态库,涉及到c/c++中的指针字符串转Python的bytes对象的问题. 按照ctypes的文档,直观方式是先创建对应的类型数组,再将指针取地址一一赋值 ...
- tjuthesis 图标题左对齐修改办法
图标题格式默认是居中的. 将 format 文件里定义图表标题样式部分的 \centering 删去,可变为左对齐. 如下: %% 定制浮动图形和表格标题样式\makeatletter\long\de ...