一、变量的概念

变量是程序的基本组成单位。变量表示内存中的一个存储区域,该区域有自己的名称(变量名)和类型(数据类型)。
变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门 牌号,通过门牌号我们可以找到房间,同样的道理,通过变量名可以访问到变量 (值)。
变量的使用步骤:
1、声明变量(也叫:定义变量)
2、给变量赋值
3、用变量

package main

import "fmt"

func main() {
//定义变量,也就是声明变量
var i int
//给变量赋值
i = 10
//使用变量
fmt.Println("i=", i)
}

二、golang变量的三种使用方式

1、指定变量类型,声明后若不赋值,使用默认值

package main

import "fmt"

func main() {
//指定变量类型,声明后若不赋值,使用默认值
//int的默认值是0
var i int
fmt.Println("i=", i)
}

2、根据值自行判定变量类型(类型推导)

package main

import "fmt"

func main() {
//根据值自行判定变量类型(类型推导)
var num = 10.05
fmt.Println("num=", num)
}

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

package main

import "fmt"

func main() {
//省略 var, 注意 :=左侧的变量不应该是已经声明过的,否则会导致编译错误
name := "tom" //等价于 var name string name = "tom"
fmt.Println("name=", name)
}

三、变量的声明

1、多变量声明

package main

import "fmt"

func main() {
//一次性声明多个变量
var n1, n2, n3 int
fmt.Println("n1=", n1, "n2=", n2, "n3=", n3) var num, name, n4 = 100, "tom", 888
fmt.Println("num=", num, "name=", name, "n4=", n4) n5, name2, n6 := 100, "lina", 666
fmt.Println("n5=", n5, "name2=", name2, "n6=", n6)
}

2、全局变量

package main

import "fmt"

//一次性声明多个全局变量[在go中函数外部定义变量就是全局变量]
//定义全局变量方式一:
var n1 = 100
var n2 = 200
var name = "jack" //定义全局变量方式二:
var (
n3 = 300
n4 = 900
name2 = "mary"
) func main() {
fmt.Println("n1=", n1, "n2=", n2, "n3=", n3, "n4=", n4, "name=", name, "name2=", name2)
}

 一个区域的变量数值可以在同一类型范围内不断变化(重点)

变量在同一个作用域(在一个函数或者在代码块)内不能重名
变量=变量名+值+数据类型
Golang 的变量如果没有赋初值,编译器会使用默认值, int默认为0,string默认值为空串,小数默认为0

golang变量的更多相关文章

  1. golang变量作用域问题-避免使用全局变量

    最近遇到了一个变量作用域的问题,一个比较低级的问题,可能作为一个熟手不应该犯这样的低级错误,但是golang的语法特点可能让你稍微不注意就踩坑,嘿嘿. 变量作用域 全局变量的作用域是整个包,局部变量的 ...

  2. golang变量声明

    func main() { var a1 int a1 = 1 var a = 1 b := 1 var c, d int c = 1 d = 1 var e, f = 1, 2 g, h := 1, ...

  3. 一个有关Golang变量作用域的坑

    转自:http://tonybai.com/2015/01/13/a-hole-about-variable-scope-in-golang/ 临近下班前编写和调试一段Golang代码,但运行结果始终 ...

  4. golang变量与常量

    变量 变量 在程序运行中可以改变的量 枚举 var ( a3 = 1 a4 = 2 ) golang不同类型变量不能替换 func main() { var a int = 10 a = 20 a = ...

  5. GOLANG 变量

    语法格式 var    变量名    类型   类型:        可以是go语言内置的各种基本数据类型.复合数据类型,甚至是函数.方法.接口以及自定义类型. 声明变量会给变量设定零值.数值类型变量 ...

  6. golang 变量定义

    package main import "fmt" var luckyNum = 6 var luckyStr = "love" //myNum := 6 // ...

  7. golang变量的注意

    方法内部的变量使用方法: /* 定义三个变量,它们分别初始化为相应的值 vname1为v1,vname2为v2,vname3为v3 编译器会根据初始化的值自动推导出相应的类型 */ vname1, v ...

  8. golang变量-数据类型一

    package main import "fmt" var t1 = 100 var t2 = 200 var t3 = 300 var ( u1 = 100 u2 = 200 u ...

  9. [golang note] 变量常量

    变量 • 变量声明 √ golang变量声明的关键字为var. √ golang变量声明时类型信息放置在变量名之后. ▶ 单个变量声明 ▪ 语法如下 var name type ▪ 示例如下 var ...

随机推荐

  1. Luogu 4363 [九省联考2018]一双木棋chess

    发现数据范围很小,想到状压dp,然后就愣住不会了. 表示太菜了并没有接触过轮廓线dp这种操作. 首先发现合法的操作过程中一定是这样子的: 按照行来看发现每一行单调不递增. 我们用$1$来表示竖着的轮廓 ...

  2. python中的作用域与名称空间

    python中的名称空间以及作用域分析 从Python解释器开始执行之后,就在内存中开辟一个空间,每当遇到一个变量的时候,就把变量名和值之间对应的关系记录下来,但是当遇到函数定义的时候,解释器只是象征 ...

  3. SDUT 3364 数据结构实验之图论八:欧拉回路

    数据结构实验之图论八:欧拉回路 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 在哥尼斯堡的 ...

  4. spring、spring mvc以及IOC的阅读

    spring vs spring-mvc spring是应用级框架 spring mvc只是一个mvc框架 spring现在包含很多子模块,我们用的最多的是依赖注入. spring模块可分为以下: C ...

  5. Xshell连接不上Linux的解决方法

    xshell连接linux主机时,会出现错误:Could not connect to '127.0.0.1' (port 22): Connection failed.  但是这时能ping通. 通 ...

  6. [转]MySQL时间与字符串相互转换

    转至:https://www.cnblogs.com/wangyongwen/p/6265126.html 时间.字符串.时间戳之间的互相转换很常用,但是几乎每次使用时候都喜欢去搜索一下用法:本文整理 ...

  7. web 打印分页技巧

     page-break-after 和 page-break-before: page-break-before和page-break-after CSS属性并不会修改网页在屏幕上的显示,这两个属性是 ...

  8. mysql 远程登录与表名大小写问题

    好久没写博客了,这段时间在学习一个开源的项目,里面使用到了mysql,好久没使用mysql了.在使用过程中遇到了一个问题,远程登陆.报错信息很明显,连接失败.解决思路如下: 1. 首先检查到服务器网络 ...

  9. Metasploit 读书笔记-神器Meterpreter

    一、基本命令 截屏 screenshot 2.获取系统平台信息 sysinfo 3.进程信息 ps 4.获取键盘记录 查看进程信息ps--migrate将会话迁移至explorer.exe进程空间中- ...

  10. eclipse - 链接hadoop

    插件: 配置:Map/Reduce Location 问题:An internal error occurred during: "Map/Reduce location status up ...