Go学习:类型转换需注意的点 以及 类型别名

server/2025/2/2 18:41:10/

目录

1.  类型转换

2. 类型别名


1.  类型转换

在从前的学习中,知道布尔bool类型变量只有两种值true或false,C/C++、Python、JAVA等编程语言中,如果将布尔类型bool变量转换为整型int变量,通常采用 “0为假,非0为真”的方式,但是这个方式在Go语言中行不通。

        Go语言中不允许隐式转换,所有类型转换必须显式声明,而且转换只能发生在两种相互兼容的类型之间。 

注意:

  • 能够转换的类型称为兼容类型,不能转换的类型叫做不兼容类型
  • bool类型不能转换为int
var flag bool
flag = true
fmt.Printf("flag = %t\n", flag)  //%t , bool类型占位符//bool 不能 转换为int
fmt.Printf("flag = %d\n", int(flag))     //ERROR报错
  • int整型也不能转换为bool
//0为假,非0为真//整型  不能 转换为bool
flag = bool(1)    //ERROR,报错
  • 字符类型本质上就是整型(ASCII码),因此可以相互转换
var ch bytech = 'a'var t intt = int(ch)  //类型转换,把ch的值取出来后,转成int再给t赋值

2.  类型别名

关键字:type

格式:

  • 单个变量:type 别名 原名
  • 多个变量:

type (

        别名 原名

        别名 原名

package mainimport "fmt"func main() {//给int64起一个别名type bigint int64 //int64类型改名为bigintvar a bigintfmt.Printf("a type is %T\n", a)//同时给多个变量起别名type (long int64char byte)var b long = 11var ch char = 'a'fmt.Printf("b = %d, ch = %c\n", b, ch)
}

 


http://www.ppmy.cn/server/164403.html

相关文章

代理模式 - 代理模式的应用

引言 代理模式(Proxy Pattern)是一种结构型设计模式,它允许你提供一个代理对象来控制对另一个对象的访问。代理对象通常会在客户端和目标对象之间起到中介的作用,从而可以在不改变目标对象的情况下,增加额外的功能或控…

MySQL知识点总结(十七)

在从属服务器上执行RESET SLAVE命令时,会发生哪些操作? RESET SLAVE命令会断开从属服务器与主服务器的连接,以重置从属服务器,具体效果如下:清除 master.info和relay.log资料档案库删除所有中继日志启动新的中继日志文…

基于FPGA的BT656编解码

概述 BT656全称为“ITU-R BT.656-4”或简称“BT656”,是一种用于数字视频传输的接口标准。它规定了数字视频信号的编码方式、传输格式以及接口电气特性。在物理层面上,BT656接口通常包含10根线(在某些应用中可能略有不同,但标准配置为10根)。这些线分别用于传输视频数据、…

LLaMA-Factory 微调LLaMA3

LoRA介绍 LoRA(Low-Rank Adaptation)是一种用于大模型微调的技术, 通过引入低秩矩阵来减少微调时的参数量。在预训练的模型中, LoRA通过添加两个小矩阵B和A来近似原始的大矩阵ΔW,从而减 少需要更新的参数数量。具体来…

Flask 使用Flask-SQLAlchemy操作数据库

username db.Column(db.String(64), uniqueTrue, indexTrue); password db.Column(db.String(64)); 建立对应关系 如果是多对多关系就建一张表,关联两个表的id role_id db.Column(db.Integer, db.ForeignKey(‘roles.id’)) ‘’’ 帮助作关联查询 relati…

FPGA 使用 CLOCK_LOW_FANOUT 约束

使用 CLOCK_LOW_FANOUT 约束 您可以使用 CLOCK_LOW_FANOUT 约束在单个时钟区域中包含时钟缓存负载。在由全局时钟缓存直接驱动的时钟网段 上对 CLOCK_LOW_FANOUT 进行设置,而且全局时钟缓存扇出必须低于 2000 个负载。 注释: 当与其他时钟约束配合…

STM32 中断系统

目录 中断 定义: 中断处理的过程: 1.中断申请: 2.中断响应: 3.中断处理: 4.中断向量 : 5.中断返回: 中断优先级 1.抢占优先级 2.响应优先级 3.自然优先级 中断嵌套 中断执行流程 中断源 NV…

debian12.9编译freeswitch1.10.12【默认安装】

服务器操作系统 cat /etc/os-release PRETTY_NAME"Debian GNU/Linux 12 (bookworm)" NAME"Debian GNU/Linux" VERSION_ID"12" VERSION"12 (bookworm)" VERSION_CODENAMEbookworm IDdebian HOME_URL"https://www.debian.org/&quo…