Golang 变量使用的三种方式

(1) 第一种:指定变量类型,声明后若不赋值,使用默认值

(2) 第二种:根据值自行判定变量类型(类型推导)

(3) 第三种:省略 var, 注意 :=左侧的变量不应该是已经声明过的,否则会导致编译错误

(4) 多变量声明
在编程中,有时我们需要一次性声明多个变量,Golang 也提供这样的语法 举例说明:


如何一次性声明多个全局变量【在 go 中函数外部定义变量就是全局变量】:

  1. 该区域的数据值可以在同一类型范围内不断变化(重点)


6) 变量在同一个作用域(在一个函数或者在代码块)内不能重名

7) 变量=变量名+值+数据类型,这一点请大家注意,变量的三要素
8) Golang 的变量如果没有赋初值,编译器会使用默认值, 比如 int 默认值 0 string 默认值为空串, 小数默认为 0

数据类型的基本介绍

整数类型

int 的其它类型的说明:

整型的使用细节

  1. Golang 各整数类型分:有符号和无符号,int uint 的大小和系统有关。

  2. Golang 的整型默认声明为 int 型

  3. 如何在程序查看某个变量的字节大小和数据类型 (使用较多)

  1. Golang 程序中整型变量在使用时,遵守保小不保大的原则,即:在保证程序正确运行下,尽量 使用占用空间小的数据类型。【如:年龄】

  1. bit: 计算机中的最小存储单位。byte:计算机中基本存储单元。[二进制再详细说] 1byte = 8 bit

小数类型/浮点型

小数类型分类

浮点型使用细节

  1. Golang 浮点类型有固定的范围和字段长度,不受具体 OS(操作系统)的影响。 2) Golang 的浮点型默认声明为 float64 类型。

  2. 浮点型常量有两种表示形式
    十进制数形式:如:5.12 .512 (必须有小数点) 科学计数法形式:如:5.1234e2 = 5.12 * 10 的 2 次方 5.12E-2 = 5.12/10 的 2 次方

  3. 通常情况下,应该使用 float64 ,因为它比 float32 更精确。[开发中,推荐使用 float64]

字符类型

基本介绍
Golang 中没有专门的字符类型,如果要存储单个字符(字母),一般使用 byte 来保存。 字符串就是一串固定长度的字符连接起来的字符序列。Go 的字符串是由单个字节连接起来的。也就是说对于传统的字符串是由字符组成的,而 Go 的字符串不同,它是由字节组成的。

案例演示

对上面代码说明

  1. 如果我们保存的字符在 ASCII 表的,比如[0-1, a-z,A-Z…]直接可以保存到 byte
  2. 如果我们保存的字符对应码值大于 255,这时我们可以考虑使用 int 类型保存
  3. 如果我们需要安装字符的方式输出,这时我们需要格式化输出,即 fmt.Printf(“%c”, c1)…

字符类型使用细节

  1. 字符常量是用单引号(’’)括起来的单个字符。例如:var c1 byte = ‘a’ var c2 int = ‘中’ var c3 byte = ‘9’
  2. Go 中允许使用转义字符 '\’来将其后的字符转变为特殊字符型常量。例如:var c3 char = ‘\n’
    // '\n’表示换行符
  3. Go 语 言 的 字 符 使 用 UTF-8 编 码 , 如 果 想 查 询 字 符 对 应 的 utf8 码 值
    http://www.mytju.com/classcode/tools/encode_utf8.asp
    英文字母-1 个字节 汉字-3 个字节
  4. 在 Go 中,字符的本质是一个整数,直接输出时,是该字符对应的 UTF-8 编码的码值。
  5. 可以直接给某个变量赋一个数字,然后按格式化输出时%c,会输出该数字对应的 unicode 字符

  1. 字符类型是可以进行运算的,相当于一个整数,因为它都对应有 Unicode 码.

布尔类型

案例演示

string 类型

案例演示

string 使用注意事项和细节

  1. Go 语言的字符串的字节使用 UTF-8 编码标识 Unicode 文本,这样 Golang 统一使用 UTF-8 编码,中文 乱码问题不会再困扰程序员。
  2. 字符串一旦赋值了,字符串就不能修改了:在 Go 中字符串是不可变的。

  1. 字符串的两种表示形式
    (1) 双引号, 会识别转义字符
    (2) 反引号,以字符串的原生形式输出,包括换行和特殊字符,可以实现防止攻击、输出源代码等效果
    【案例演示】

  2. 字符串拼接方式

  3. 当一行字符串太长时,需要使用到多行字符串,可以如下处理

Golang基本变量相关推荐

  1. 非零基础自学Golang 第3章 基本变量与类型 3.1 Go语言变量

    非零基础自学Golang 文章目录 非零基础自学Golang 第3章 基本变量与类型 3.1 Go语言变量 3.1.1 声明变量 3.1.2 初始化变量 3.1.3 变量值交换 3.1.4 匿名变量 ...

  2. 【Golang源码分析】Go Web常用程序包gorilla/mux的使用与源码简析

    目录[阅读时间:约10分钟] 一.概述 二.对比: gorilla/mux与net/http DefaultServeMux 三.简单使用 四.源码简析 1.NewRouter函数 2.HandleF ...

  3. 基于Golang的简单web服务程序开发——CloudGo

    基于Golang的简单web服务程序开发--CloudGo[阅读时间:约10分钟] 一.概述 二.系统环境&项目介绍 1.系统环境 2.项目的任务要求 (1)基本要求 (2)扩展要求 三.具体 ...

  4. CentOS Docker安装配置部署Golang web helloworld

    目录[阅读时间:约5分钟] 一.Docker简介 二.Docker的安装与配置[CentOS环境] 三.Docker部署Golang web helloworld 四.Docker与虚拟机的区别 五. ...

  5. 【ReactiveX】基于Golang pmlpml/RxGo程序包的二次开发

    基于Golang pmlpml/RxGo程序包的二次开发[阅读时间:约20分钟] 一.ReactiveX & RxGo介绍 1.ReactiveX 2.RxGo 二.系统环境&项目介绍 ...

  6. 【golang程序包推荐分享】分享亿点点golang json操作及myJsonMarshal程序包开发的踩坑经历 :)

    目录[阅读时间:约5分钟] 一.概述 1.Json的作用 2.Go官方 encoding/json 包 3. golang json的主要操作 二.Json Marshal:将数据编码成json字符串 ...

  7. 基于Golang的对象序列化的程序包开发——myJsonMarshal

    基于Golang的对象序列化的程序包开发--myJsonMarshal[阅读时间:约10分钟] 一.对象序列化概述 二.系统环境&项目介绍 1.系统环境 2.项目的任务要求 三.具体程序设计及 ...

  8. 【golang程序包推荐分享】go-ini、viper、godoc

    [golang程序包推荐&分享]go-ini.viper.godoc 一.go-ini 1.程序包简介 2.下载安装 3.简单使用[截取自官网] 二.viper 1.程序包简介 2.下载安装 ...

  9. 基于Golang的监听读取配置文件的程序包开发——simpleConfig_v1

    基于Golang的监听&读取配置文件的程序包开发--simpleConfig_v1 [阅读时间:约10分钟] 一.配置文件概述 二.系统环境&项目介绍 1.系统环境 2.项目的任务要求 ...

最新文章

  1. android获取元素路径,Appium元素定位(name、classname、相对路径、绝对路径\、list)...
  2. 安恒月赛 image up
  3. python多图拼接并利用resnet提取特征
  4. C#的多线程(2)——机制探索
  5. aop-xml-环绕增强
  6. jmeter控制器--if控制器
  7. ajax的请求参数详解以及前后台交互详解
  8. 交叉编译HTOP并移植到ARM嵌入式Linux系统
  9. 在windows server 2008 R2上运行disk cleanup
  10. Linux文本界面配置yum源,修改Linux默认语言 配置yum源
  11. 高性能javascript读书笔记(三.DOM 编程2)
  12. bzoj 1034: [ZJOI2008]泡泡堂BNB(贪心)
  13. 谈谈MVC项目中的缓存功能设计的相关问题
  14. Android 反编译 -smali文件对比java文件
  15. openstack实例启动失败_Nokia NESC,这是世界上最大的OpenStack私有云之一
  16. 苹果手机密码锁如何解锁
  17. ubuntu系统如何安装最新版R语言?
  18. C语言数组指针和指向数组的指针变量—数组名作函数参数.doc
  19. 使用Python实现搜索任意电影资源的磁力链接
  20. matlab求解平面度,基于MATLAB的平面度评定

热门文章

  1. Running PostgreSQL using Docker Compose
  2. SDN——转控分离、CPU保护机制——COPP技术案列详解及配置命令、
  3. [UWP]用画中画模式(CompactOverlay Mode)让用总在最前端显示
  4. 不重启docker容器修改 容器中的时区
  5. [2021] node连接oracle数据库示例[使用oracle官方组件]
  6. C#设计模式之8-组合模式
  7. azure服务器_如何使用Blazor WebAssembly实施Azure无服务器
  8. Docker:易于构建,运行,完成!
  9. springmvc图片文件上传接口
  10. java包管理之maven安装