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

devtools/2025/2/6 1:55:12/

目录

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/devtools/156418.html

相关文章

【狂热算法篇】探秘图论之Dijkstra 算法:穿越图的迷宫的最短路径力量(通俗易懂版)

羑悻的小杀马特.-CSDN博客羑悻的小杀马特.擅长C/C题海汇总,AI学习,c的不归之路,等方面的知识,羑悻的小杀马特.关注算法,c,c语言,青少年编程领域.https://blog.csdn.net/2401_82648291?typebbshttps://blog.csdn.net/2401_82648291?typebbshttps://blog.csdn.net/2401_8264829…

MySQL下载安装配置(超级超级入门级)

一、下载MySQL MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,属于 Oracle 旗下产品。 MySQL官网下载地址:https://dev.mysql.com/downloads/mysql/ 打开官网,现在最新是9.0版本,我们这里选择8.03版本…

Pluto固件编译笔记

前段时间我已经做到在电脑上交叉编译一个简单的c/c程序,然后复制到pluto上运行。 要做到这一点,其实参考adi pluto官网的wiki就能做到了。 但这样有几个问题,只能做到简易程序,如果程序复杂,要调用更多库而SYSROOT里…

[权限提升] Windows 提权 维持 — 系统错误配置提权 - Trusted Service Paths 提权

关注这个专栏的其他相关笔记:[内网安全] 内网渗透 - 学习手册-CSDN博客 0x01:Trusted Service Paths 提权原理 Windows 的服务通常都是以 System 权限运行的,所以系统在解析服务的可执行文件路径中的空格的时候也会以 System 权限进行解析&a…

试用ChatGPT开发一个大语言模型聊天App

参考官方文档,安装android studio https://developer.android.com/studio/install?hlzh-cn 参考这个添加permission权限: https://blog.csdn.net/qingye_love/article/details/14452863 参考下面链接完成Android Studio 给项目添加 gradle 依赖 ht…

在vue中使用jsx

在jsx中定义事件的语法和在vue template里不同: xxx 要改成 onXxx包裹事件内容的引号要改成大括号带参数的要用bind定义,否则会直接执行

Hive修复分区

Hive修复分区 简介 Hive的MSCK REPAIR TABLE命令用于修复(即添加丢失的)表分区。通常用于那些已在HDFS中存在,但尚未在Hive元数据中注册的分区。 当你在HDFS文件系统中手动添加或删除分区目录,Hive并不会自动识别这些更改。为同步…

NoSQL与SQL比较

1.认识NoSQL NoSql可以翻译做Not Only Sql(不仅仅是SQL),或者是No Sql(非Sql的)数据库。是相对于传统关系型数据库而言,有很大差异的一种特殊的数据库,因此也称之为非关系型数据库。 1.1.结构…