当前位置: 首页 > news >正文

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

目录

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.lryc.cn/news/528480.html

相关文章:

  • C语言中的局部变量和全局变量有什么区别?
  • 价值交换到底在交换什么
  • C++传送锚点的内存寻址:内存管理
  • Prompt提示词完整案例:让chatGPT成为“书单推荐”的高手
  • 基于django的智能停车场车辆管理深度学习车牌识别系统
  • 【Proteus仿真】【51单片机】简易计算器系统设计
  • 洛谷P3884 [JLOI2009] 二叉树问题(详解)c++
  • 《Foundation 起步》
  • 【hot100】刷题记录(6)-轮转数组
  • Android createScaledBitmap与Canvas通过RectF drawBitmap生成马赛克/高斯模糊(毛玻璃)对比,Kotlin
  • ThinkPad E480安装Ubuntu 18.04无线网卡驱动
  • 自然语言处理——从原理、经典模型到应用
  • Ollama 运行从 ModelScope 下载的 GGUF 格式的模型
  • Haproxy介绍及学习
  • 【2024年华为OD机试】 (C卷,200分)- 贪心歌手(JavaScriptJava PythonC/C++)
  • 深度学习在金融风控中的应用:突破传统模型的瓶颈
  • LLM - 大模型 ScallingLaws 的指导模型设计与实验环境(PLM) 教程(4)
  • hunyuan 混元学习
  • 开发、科研工具汇总
  • 项目部署(springboot项目)
  • OpenEuler学习笔记(十四):在OpenEuler上搭建.NET运行环境
  • 神经网络的通俗介绍
  • 基于 AWS SageMaker 对 DeepSeek-R1-Distilled-Llama-8B 模型的精调与实践
  • 如何使用DeepSeek R1
  • 大屏 UI 设计风格的未来趋势
  • unity学习22:Application类其他功能
  • 51单片机入门_02_C语言基础0102
  • 定位的叠放次序 z-index
  • ESP32-S3模组上跑通esp32-camera(36)
  • 前端性能优化:HMR热更新和预获取加载