Go 变量及基本数据类型1
#### Go 变量及基本数据类型(一)
今天主要学习一下Go 中的变量及基本数据类型: 如何申明,使用变量,以及基本数据类型的介绍和使用细节;
##### 变量的介绍
1. 变量相当于内存中一个数据存储空间的表示, 也可以把变量看做是一个房间的门牌号, 通过门牌号可以找到房间, 同理通过变量名可以访问到变量的值;
##### 变量的使用步骤
1. 声明变量
2. 非变量赋值
3. 使用变量
案例:
package main
import "fmt"
func main(){
// 定义变量, 也叫声明变量
var i int
// 给变量赋值
i = 10
// 使用变量
fmt.Println("i=",i)
}
##### 变量使用注意事项
1. 变量表示内存中的一个存储区域
2. 该区域有自己的名称(变量名)和类型(数据类型)
示意图:
3. Go 变量使用的三种方式
3.1 指定变量类型, ***声明后若不赋值,使用默认值***;
package main
func main(){
// 声明后若不赋值, 使用默认值
// int 类型的默认值是0
var i int
fmt.Println("i=",i)
}
3.2 根据值自动判断变量的类型(称为类型推导)
// 根据值自动判断变量的类型
var i = 11
fmt.Println("i=",i)
3.3 省略var , := 左侧的变量不应该是声明过的,而且此种方式,只能使用于函数内;
func test(){
// 省略var , := 左侧的变量不能是已经声明过的,否则编译失败
name := "Tom"
fmt.Println("name=",name)
}
3.4 多变量声明
package main
import "fmt"
func main(){
// 声明多个变量
var a1,a2,a3 int
// 为多个变量赋值
a1,a2,a3 = 1,2,3
fmt.Println(a1,a2,a3) // 声明多个变量并赋值
var a4,a5,a6 = 4,"5",6.6
fmt.Println(a4,a5,a6) // 类型推导方式
a7,a8,a9 := 5,"6",7.7
fmt.Println(a7,a8,a9)
}
3.5 全局变量的定义(在函数外部定义的变量为全局变量)***全局变量不可以使用:= 方式声明***
// 定义全局变量
package main
import "fmt"
var n1 = 1
var n2 = 2
// 也可以一次性声明
var (
n3 = 3
n4 = 4
)
func main(){
fmt.Println(n1,n2,n3,n4)
}
3.6 变量在同一个作用域(在同一个函数或者同一个代码块)不能重名
func test(){
var i = 10
i := 11 // 错误, 同一个作用域不能重名)
}
3.7 变量如何没有赋值,编译器会使用默认值, int 默认值0, string 默认值为"", 小数类型默认0, bool 类型为false;
##### 程序中 "+" 号的使用
1. 当左右两边都是数值类型时, 做加法运算;
2. 当左右两边都是字符串时, 做字符串拼接;
package main
import "fmt"
func main(){
var a1 = 1
var a2 = 2
var s1 = "hello "
var s2 = "world"
fmt.Println(a1+a2) // 加法运算
fmt.Println(s1+s2) // 拼接
}
##### 基本数据类型的介绍
每一个数据都定义了明确的数据类型, 在内存中分配不同大小的内存空间
1. 基本数据类型
1.1 整数类型(int,int8,int16,int32,int64,uint,uint8,uint16,uint32,uint64)
1.2 浮点类型(float32,float64)
1.3 字符型(使用byte 保存单个字母字符)
1.4 布尔型(bool)
1.5 字符串(string)
2. 复杂数据类型
2.1 指针(Pointer)
2.2 数组(array)
2.3 结构体(struct)
2.4 管道(channel)
2.5 函数(func)
2.6 切片(slice)
2.7 接口(interface)
2.8 map
Go 变量及基本数据类型1的更多相关文章
- 不可或缺 Windows Native (2) - C 语言: 常量,变量,基本数据类型
[源码下载] 不可或缺 Windows Native (2) - C 语言: 常量,变量,基本数据类型 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 常量 变量 基本 ...
- Python编程从入门到实践笔记——变量和简单数据类型
Python编程从入门到实践笔记——变量和简单数据类型 #coding=gbk #变量 message_1 = 'aAa fff' message_2 = 'hart' message_3 = &qu ...
- javaScript的注释、变量和基本数据类型
上一级写了javaScript是用来操作文档对象元素的,这一次带大家看看javaScriput的注释.变量和基本数据类型. 1.注释:注释是什么呢?注释其实就是阻止浏览器解析某一行或者多行代码或描述的 ...
- Java 变量及基本数据类型
1.Java变量 1.1 变量的概念 内存中开辟的一块存储空间,用于存放运算过程中需要用到的数据: 该区域有自己的名称(变量名)和类型(数据类型): 该区域的数据可以在同一类型范围内不断变化: 1) ...
- Flutter学习笔记(3)--Dart变量与基本数据类型
一.变量 在Dart里面,变量的声明使用var.Object或Dynamic关键字,如下所示: var name = ‘张三’: 在Dart语言里一切皆为对象,所以如果没有将变量初始化,那么它的默认值 ...
- Python入门 .变量 常量 基础数据类型 用户输入 流程控制语句 小练习题
# 2.name = input(“>>>”)通过代码来验证name变量是什么数据类型?--str name = input(">>>") pr ...
- Python变量与基本数据类型
Python变量与基本数据类型 前言 好了,从本章开始将正式进入Python的学习阶段.本章主要介绍的是Python变量与基本数据类型的认识,这些都是最基本的知识并且必须要牢靠掌握在心中. 注释 学习 ...
- Go 变量及基本数据类型3
#### Go 变量及基本数据类型(三)今天学习一下剩下的两个基本数据类型(布尔类型,字符串类型)以及基本数据类型的相互转换##### 布尔类型布尔类型也称为bool 类型, bool 类型只允许取值 ...
- Go 变量及基本数据类型2
#### Go 变量及基本数据类型(二)今天学习一下基本数据类型,包括整数类型,小数类型,字符类型##### 整数类型用来存放整数数值的, 如0,1,-10,2222等; 整数型的类型有: 类型 有无 ...
随机推荐
- ajaxFileUpload上传文件成功后却无法解析服务器返回的json数据
可能是应该返回内容带了标签,过滤下 var index=data.indexOf("<"); if (index!=-1){ data=data.substring(0,in ...
- Caused by: redis.clients.jedis.exceptions.JedisDataException: READONLY You can't write against a read only slave.
Caused by: redis.clients.jedis.exceptions.JedisDataException: READONLY You can't write against a rea ...
- 【LeetCode】962. Maximum Width Ramp 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 单调栈 日期 题目地址:https://leetco ...
- 【LeetCode】931. Minimum Falling Path Sum 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 动态规划 相似题目 参考资料 日期 题目地址:htt ...
- 【LeetCode】300. Longest Increasing Subsequence 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...
- Saving Beans(hud3037)
Saving Beans Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- [opencv]opencv主要组件介绍
[calib3d]--其实就是就是Calibration(校准)加3D这两个词的组合缩写.这个模块主要是相机校准和三维重建相关的内容.基本的多视角几何算法,单个立体摄像头标定,物体姿态估计,立体相似性 ...
- 排列组合 "n个球放入m个盒子m"问题 总结
求,盒子都可以分成是否不能区分,和能区分,还能分成是否能有空箱子,所以一共是8种情况,我们现在来一一讨论. 1.球同,盒不同,无空箱 C(n-1,m-1), n>=m0, n<m 使用插板 ...
- 编写Java程序,车站只剩 50 张从武汉到北京的车票,现有 3 个窗口售卖,用程序模拟售票的过程,使用Runnable解决线程安全问题
查看本章节 查看作业目录 需求说明: 车站只剩 50 张从武汉到北京的车票,现有 3 个窗口售卖,用程序模拟售票的过程,要求使用同步方法保证售票过程中票数的正确性 实现思路: 创建 Java 项目,在 ...
- docker学习:docker---centos安装
查看目标镜像 docker search centos 拉取镜像 docker pull centos 查看镜像 docker images 启动镜像 docker run -itd --privil ...