首页 > 其他分享 >Go-变量篇

Go-变量篇

时间:2023-06-21 18:45:11浏览次数:35  
标签:转换 变量 int 数据类型 类型 Go string

一、变量的声明方式(三种)

  1、var a int = num

  2、var a = num

  3、a := num

二、字符类型使用细节

  *Golang的字符使用UTF-8.

  英文 -1 字节;汉字-3个字节

  1、字符常量用单引号括起来。

  eg: var c1 byte='a'

  2、在Go中,字符的本质是一个整数,直接输出时,是该字符对应的UTF-8的码值

   

  

   3、字符类型可以进行运算,相当于一个整数

三、布尔类型使用细节

  1、bool类型占用1个字节

  2、只能取false  true,无法强转。即不能用0或非0整数替代false和true

四、字符串类型使用细节

  Go的字符串是由单个字节连接而来,而不是字符

  1、简单使用

  

  2、Go中字符串不可变:一旦赋值,不可修改

  3、字符串的两种表现形式:

  

  (1)双引号:会识别转义字符

  (2)反引号:以字符串的原生形式输出。

  4、字符串拼接  

  

 五、各种类型变量的默认值

  

 六、基本数据类型的相互转换

  Go在不能类型的变量之间赋值时需要显示转换。Golang中的数据类型不能自动转换

  

  注意:1、被转换的是变量存储的数据(即值),变量本身的数据类型并没有变化

  2、将大范围->小范围时,eg:int64->int8,编译不会报错,只是转换结果按溢出处理(截断),转换时需要考虑范围

  eg: var num1 int64 = 999999

     var num2 int8 = int8(num1) 

   fmt.Println("num2=",num2)

   输出结果为63。原因:999999对应二进制:11110100001000111111,截取后八位转换为10进制为63

七:基本数据类型与string类型之间的转换 

1、基本数据类型转string

  方式一:fmt.Sprintf("%参数输出类型",表达式)  

  

   方式二:使用strconv包的函数:

  func FormatBool(b bool)string

    

  func FormatInt(i int,base int)string

    base int :转换为多少进制的值(2-32)

  

  func FormatFloat(f float64, fmt byte,prec ,bitSize int)string

  

2、string转基本数据类型

  注意事项:当字符串无法转换为基本数据类型的值时,将使接收变量的值置为默认值(bool型为false)

  func ParseInt(s string, base int, bitSize int) (i int64, err error)接收ParseInt转换后数据的类型必须为int64;bitSize值指的是string的值所属范围

  

  func ParseFloat(s string, bitSize int) (f float64, err error)

  接收ParseFloat转换后的数据的类型必须为float64。当 bitSize=32 时,结果仍然是 float64 类型,但它可以转换为 float32 而不会改变它的值

  

 

标签:转换,变量,int,数据类型,类型,Go,string
From: https://www.cnblogs.com/bug-boy/p/17496242.html

相关文章

  • 自动化平台总结(httprunner+djangorestframework+python3+Mysql+Vue)【基础构思】
    一、前言最近从零搭建了一个自动化测试平台,虽然不是第一次从零搭建,但是也从来没有进行过这类搭建的总结,还是记录一下,搭建过程中的一些问题和方法。方便以后总结和翻阅二、简介搭建的平台使用的是Python3.6,未来有空可能考虑加个java版本。前端用的Vue,主体是httprunner2.......
  • MongodChangeStream不生效
    interfaceChatMessageListener<T>extendsMessageListener<ChangeStreamDocument<Document>,T>{}1.检查mongodb是否启用了replicasets,参考配置https://stackoverflow.com/questions/59571945/the-changestream-stage-is-only-supported-on-replica-sets-error-......
  • MongoDB学习笔记
    MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存......
  • centos 安装mongodb
    在CentOS系统中安装MongoDB可以按照以下步骤进行:配置MongoDB的Yum仓库sudovi/etc/yum.repos.d/mongodb-org-4.4.repo在编辑器中输入以下内容:[mongodb-org-4.4]name=MongoDBRepositorybaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.......
  • Django与celery集成:异步任务原理和过程
    0.原理和架构a.客户发送请求到django;b.django产生任务(要执行的函数);c.django把任务丢给celery的brokerd.celery的worker从broker拿到任务并且执行;e.worker执行后保存结果到后端数据库;  1.在django里面配置celery的目录结构PSD:\djangotest\myrecrument>treeD:.├─.idea......
  • 问题解决 --- surface go sd卡槽不识别问题
    问题描述之前好好的,突然发现没有识别sd卡,sd卡是好的问题原因可能是系统更新了uefi解决办法重启电脑,多次点按音量加键进入uefi,关闭sd卡,重启电脑到系统再次进入uefi,开启sd卡,重启电脑到系统,完成!......
  • Google Chrome禁用触摸板滑动前进后退
    https://blog.csdn.net/qq_45279180/article/details/121684723今天给大家分享一下如何然让GoogleChrome禁用触摸板滑动前进后退。本来这个是一个不错的功能,但是甲方在使用触摸屏的电脑浏览页面的时候准备用滑动去切换轮播,但是出现了退出了当前页面回到首页的现象。排查后发现是......
  • ZEGO 即构音乐场景降噪技术解析
    随着线上泛娱乐的兴起,语聊房、在线KTV以及直播等场景在人们的日常生活中占据越来越重要的地位,用户对于音质的要求也越来越高,因此超越传统语音降噪算法的AI降噪算法应运而生,所以目前各大RTC厂商普遍使用AI技术进行降噪处理,使用AI降噪技术消除除人声外的一切声音。但对于一......
  • Django 日志配置
    Django项目日志配置记录业务运行过程中的一些关键信息,方便查看程序运行情况以及排查报错等详细日志配置settings.py配置文件中新增日志配置#设置时区,日志输出时间为utc-8时区#TIME_ZONE='UTC'TIME_ZONE='Asia/Shanghai'#日志配置LOGGING={'versio......
  • Go语言中的defer关键字
    在Go语言中,defer关键字是一个独特而强大的特性,它可以将代码块推迟到函数返回之前执行。这种机制可以用于资源的释放、错误处理、性能优化等多种场景。本文将详细介绍defer的用法和工作原理,并通过实际示例来展示其在不同情况下的应用。defer的基本用法在Go语言中,使用defer关键字......