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

  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 而不会改变它的值

  

Go-变量篇的更多相关文章

  1. JavaScript知识架构学习路径(一)- 变量篇

    [摘要]本文是专为JavaScript入门者而总结的,总体上将JavaScript的基础部分分成了九大块,分别是变量.运算符.数组.流程控制结构.字符串函数.函数基础.DOM操作基础.文档对象模型DO ...

  2. 【shell编程基础1】shell变量篇

    Bash shell bash shell 是bourne shell 的升级版,“bourne again shell”.ubuntu的默认shell. 预备知识 1. "#!" ...

  3. 可遇不可求的Question之Mysql在不重启服务的情况下修改运行时变量篇

    比方说在一些实际生产环境中,想改个MYSQL的配置,但是又不想停止服务重起MYSQL,有什么办法呢?使用SET命令可以做到,请看下面几个例子: 1.设置key_buffer_size的大小为10M. ...

  4. 环境变量篇getenv putenv setenv

    getenv(取得环境变量内容) 相关函数 putenv,setenv,unsetenv 表头文件 #include<stdlib.h> 定义函数 char * getenv(const ...

  5. Makefile之自动变量篇

    自动变量假设您编写一个编译‘.c’文件生成‘.o’文件的规则:您怎样编写命令‘CC’,使它能够操作正确的文件名?您当然不能将文件名直接写进命令中,因为每次使用隐含规则操作的文件名都不一样. 您应该使用 ...

  6. sass语法一(变量篇)

    文件后缀名 sass有两种后缀名的文件:一种后缀名为sass,不使用大括号和分号:另一种是我们这里使用的scss文件,这种和我们平时使用的css文件格式差不多,使用大括号和分号. //后缀名为sass ...

  7. PowerShell【变量篇】

    PS C:\Users\Administrator> $str='这是一个变量' PS C:\Users\Administrator> $str 这是一个变量 PS C:\Users\Ad ...

  8. python之变量篇

    列表:a=['a',112,'bss']元组:只读列表,不能二次赋值str=('s','t',1.5)元字典:用"{ }"标识,键值对存储dic={}dic['s']='test' ...

  9. [C++基础] 变量、关键字、运算符、位操作篇

    一.变量篇 1 全局变量和静态变量有什么异同? 相同:都在静态存储区分配空间,生命周期与程序生命周期相同. 区别:全局变量的作用域是整个程序,它只需要在一个源文件中定义,就可以作用于所有的源文件.而静 ...

  10. discuz全局数组变量 后台各项设置 完整版

    $_G 保存了 Discuz! 中所有的预处理数据 缓存能够很好的提高程序的性能,一些配置数据没必要每次都查询数据库,只要在修改了的时候更新下缓存即可. Discuz! 中所有的缓存保存在 $_G[c ...

随机推荐

  1. 使用 diffusers 训练你自己的 ControlNet 🧨

    简介 ControlNet 这个神经网络模型使得用户可以通过施加额外条件,细粒度地控制扩散模型的生成过程.这一技术最初由 Adding Conditional Control to Text-to-I ...

  2. mysql的查询--子查询,order by,group by,having

    一. 1.多表查询 格式1: select 字段列表 from 表1 join 表2 on 表1.字段1=表2.字段1 where 查询条件 格式2: select 字段列表 from 表1 join ...

  3. 如何将带格式的代码复制到Word文档中

    step1:使用UE(文本编辑器软件)打开你的代码,并在右下方的查看方式,选好代码的类型格式. step2:选中需要copy的代码(建议使用列模式来选中,copy时可以背景颜色也copy过去),在主页 ...

  4. 最热学习🤩:ChatGPT从入门到应用!

    4 月 25 日,我们将联合 Datawhale 团队组织 AIGC 主题学习活动「ChatGPT 从入门到应用」,欢迎大家参加! Datawhale 社区介绍 Datawhale 是一个专注于数据科 ...

  5. 笔记:C++学习之旅---关联容器

    笔记:C++学习之旅---关联容器       关联容器和顺序容器有着根本的不同:关联容器中的元素是按关键字来保存和访问的.与之相对,顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的.     ...

  6. GPT4free安装部署教程 - 白嫖GPT

    前言 为啥之前一直没有更新GPT相关的内容,因为个人觉得如果每次都需要使用付费使用API的话,那这个工具还是很难在个人手上被运用起来,多测试几次关键字和清洗数据,API的费用对个人来说都太高昂了 直到 ...

  7. boot-admin开源项目中有关后端参数校验的最佳实践

    我们在项目开发中,经常会对一些参数进行校验,比如非空校验.长度校验,以及定制的业务校验规则等,如果使用if/else语句来对请求的每一个参数一一校验,就会出现大量与业务逻辑无关的代码,繁重不堪且繁琐的 ...

  8. CentOS 7 部署SonarQube 8.3版本及配置jenkins分析C#代码

    安装SonarQube 8.3版本 官方文档 下载地址 准备工作 准备一台CentOS 7服务器 SonarQube 8.3版本只支持Java 11 (下载Java 11) 安装PostgreSQL ...

  9. Vue 前端开发团队风格指南(史上最全)

    Vue官网的风格指南按照优先级(依次为必要.强烈推荐.推荐.谨慎使用)分类,本文根据项目实际情况整理了一份适用于团队开发的vue风格指南,供大家参考. 一.命名规范 常用的命名规范: camelCas ...

  10. java线程池和多线程的使用详解

    Java 多线程和线程池使用 java多线程实现的几种方法 1.继承Thread类 继承Thread类,重写run方法,创建线程类对象调用start方法启动线程. public class Threa ...