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等; 整数型的类型有: 类型 有无 ...
随机推荐
- SpringBoot基础篇(一)
1.前言 什么是SpringBoot:springboot是当下一套流行的J2EE框架.借助微服务的思想.将业务分成一个个的服务.通过spring-cloud进行整合.最后通过spring-data进 ...
- SpringCloud(四) config
Spring Cloud Config 在分布式系统中,尤其是当我们的分布式项目越来越多,每个项目都有自己的配置文件,对配置文件的统一管理就成了一种需要,而 Spring Cloud Config 就 ...
- vue常用技巧-动态btn的封装
@1.要求: 1.点击某个按钮后激活active样式,其余按钮则为normal样式 2.要满足任意个数btn(btn个数不确定) @2.思路: 1.首先,btn个数不确定则意味着必须使用v-for循环 ...
- google protobuf学习笔记:windows下环境配置
欢迎转载,转载请注明原文地址:http://blog.csdn.net/majianfei1023/article/details/45371743 protobuf的使用和原理,请查看:http:/ ...
- 【LeetCode】面试题62. 圆圈中最后剩下的数字 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 约瑟夫环 日期 题目地址:https://leetco ...
- 【LeetCode】942. DI String Match 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...
- 【LeetCode】781. Rabbits in Forest 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...
- 基于内存的关系数据库memsql初探
背景 广告系统中,算法模型预估需要根据广告的实时转化统计结果,才能做出更精准的预估:同时,支持多维度聚合查询(例如按照广告各个不同层级维度,按照时间不同粒度的维度),并跨大区合并.一开始的版本是基于m ...
- 前端性能和加载体验优化实践(附:PWA、离线包、内存优化、预渲染)
一.背景:页面为何会卡? 1.1 等待时间长(性能) 项目本身包/第三方脚本比较大. JavaScript 执行阻塞页面加载. 图片体积大且多. 特别是对于首屏资源加载中的白屏时间,用户等待的时间就越 ...
- Boost的反射库PFR
目录 目录 简介 使用方法 限制 总结 简介 Boost.PFR是一个Boost 1.75版本出的C++14的基础反射库,其使用非常简单,非常便捷,但是适用性也比较差,有很多的地方无法使用,适合比较简 ...