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等; 整数型的类型有: 类型 有无 ...
随机推荐
- ACwing1211. 蚂蚁感冒
题目: 长 100 厘米的细长直杆子上有 n 只蚂蚁. 它们的头有的朝左,有的朝右. 每只蚂蚁都只能沿着杆子向前爬,速度是 1 厘米/秒. 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行. 这些蚂蚁 ...
- JS(JQuery) 省市区三级联动下拉选择
引入 area.js /* * 全国三级城市联动 js版 */ function Dsy(){ this.Items = {}; } Dsy.prototype.add = function(id,i ...
- sql改写优化:简单规则重组实现
我们知道sql执行是一个复杂的过程,从sql到逻辑计划,到物理计划,规则重组,优化,执行引擎,都是很复杂的.尤其是优化一节,更是内容繁多.那么,是否我们本篇要来讨论这个问题呢?答案是否定的,我们只特定 ...
- 【LeetCode】119. 杨辉三角 II Pascal‘s Triangle II(Python & Java)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题思路 方法一: 空间复杂度 O ( k ∗ ( k + 1 ...
- 【LeetCode】257. Binary Tree Paths 解题报告(java & python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 递归 迭代 日期 题目地址:https://leet ...
- leetcode1261在受污染的二叉树中查找元素
题目 一颗二叉树,树根值为0,父节点为x,则左子值为2x+1,右子为2x+2.现在只有树的结构,所有值都变为-1被污染了.求污染前是否存在某个值. 构建一次树,查询会调用多次. 题解 这道题还是比较简 ...
- 【LeetCode】357. Count Numbers with Unique Digits 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...
- 警惕!PHP、Node、Ruby 和 Python 应用,漏洞还没结束!
12 月 10 日凌晨,Apache 开源项目 Log4j2 的远程代码执行漏洞细节被公开,作为当前全球使用最广泛的 java 日志框架之一.该漏洞影响着很多全球使用量前列的开源组件,如 Apache ...
- 「双串最长公共子串」SP1811 LCS - Longest Common Substring
知识点: SAM,SA,单调栈,Hash 原题面 Luogu 来自 poj 的双倍经验 简述 给定两字符串 \(S_1, S_2\),求它们的最长公共子串长度. \(|S_1|,|S_2|\le 2. ...
- Insights直播回顾——手语服务,助力沟通无障碍
HMS Core Insights第九期直播–手语服务,助力沟通无障碍,已于12月29日圆满结束,本期直播与小伙伴们一同了解了HMS Core手语服务的亮点特性.底层技术以及演进规划,下面我们一起来回 ...