golang变量
一、变量的概念
变量是程序的基本组成单位。变量表示内存中的一个存储区域,该区域有自己的名称(变量名)和类型(数据类型)。
变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门 牌号,通过门牌号我们可以找到房间,同样的道理,通过变量名可以访问到变量 (值)。
变量的使用步骤:
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变量的更多相关文章
- golang变量作用域问题-避免使用全局变量
最近遇到了一个变量作用域的问题,一个比较低级的问题,可能作为一个熟手不应该犯这样的低级错误,但是golang的语法特点可能让你稍微不注意就踩坑,嘿嘿. 变量作用域 全局变量的作用域是整个包,局部变量的 ...
- 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, ...
- 一个有关Golang变量作用域的坑
转自:http://tonybai.com/2015/01/13/a-hole-about-variable-scope-in-golang/ 临近下班前编写和调试一段Golang代码,但运行结果始终 ...
- golang变量与常量
变量 变量 在程序运行中可以改变的量 枚举 var ( a3 = 1 a4 = 2 ) golang不同类型变量不能替换 func main() { var a int = 10 a = 20 a = ...
- GOLANG 变量
语法格式 var 变量名 类型 类型: 可以是go语言内置的各种基本数据类型.复合数据类型,甚至是函数.方法.接口以及自定义类型. 声明变量会给变量设定零值.数值类型变量 ...
- golang 变量定义
package main import "fmt" var luckyNum = 6 var luckyStr = "love" //myNum := 6 // ...
- golang变量的注意
方法内部的变量使用方法: /* 定义三个变量,它们分别初始化为相应的值 vname1为v1,vname2为v2,vname3为v3 编译器会根据初始化的值自动推导出相应的类型 */ vname1, v ...
- golang变量-数据类型一
package main import "fmt" var t1 = 100 var t2 = 200 var t3 = 300 var ( u1 = 100 u2 = 200 u ...
- [golang note] 变量常量
变量 • 变量声明 √ golang变量声明的关键字为var. √ golang变量声明时类型信息放置在变量名之后. ▶ 单个变量声明 ▪ 语法如下 var name type ▪ 示例如下 var ...
随机推荐
- 问题:org.hibernate.LazyInitializationException: failed to lazily initialize
今天搞了一上午,都在解决这个问题:org.hibernate.LazyInitializationException: failed to lazily initialize 原因很简单,是在非法的s ...
- CodeForces 478D Red-Green Towers (DP)
题意:给定 n 块红砖,m 块绿砖,问有多少种方式可以建造成最高的塔,每一层颜色必须一样. 析:首先要确定最高是多少层h,大约应该是用 h * (h+1) <= (m+n) * 2,然后dp[i ...
- 配置PL/SQL Developer连接Oracle数据库
准备: PL/SQL Developer:我用的是plsqldev1005(32位) win32_11gR2_client:记住一定是32位的,因为PL/SQL Developer只认32位的 安装成 ...
- Java泛型读书笔记 (三)
泛型对于老代码的支持 Java的泛型设计成类型擦除的目的,很大一部分是为了兼容老老代码.如下的一段代码: void setLabelTable(Dictionary table) table的类型是非 ...
- PHP 中for循环的一个小小改进
注意 : 1, $size这个值可以放在for循环中的第一个 ';' 前声明, 因为这个声明只会执行一次; 2, 第二个 ';' 中的内容, 会重复运行, 所以$i < $size 这个判断会每 ...
- Java 在本地开发环境部署多个 spring 项目
修改Tomcat 的 server.xml 文件 路径:C:\JAVA\apache_tomcat_8.5.11\conf\server.xml : 每个web项目的端口号不同,且存储的目录相同但是文 ...
- 基于DEV控件库的webservice打印.repx模板
本文使用的DEV版本为10.1版本 首先需要添加Dll引用 DevExpress.Data.v10.1 DevExpress.XtraPrinting.v10.1 DevExpress.XtraRep ...
- SEVERE: One or more listeners failed to start.
Full details will be found in the appropriate container log file 错误日志在/home/dela/.IntelliJIdea2017.1 ...
- CF986B Petr and Permutations 思维
每次交换:逆序对的数量+1或者-1: 假设最后逆序对数量为 sum; ①x+y=3n; ②x-y=sum; -> 3n+sum为偶数: 所以 n 和 sum 必须奇偶一样: #include&l ...
- [国家集训队]happiness 最小割 BZOJ 2127
题目描述 高一一班的座位表是个n*m的矩阵,经过一个学期的相处,每个同学和前后左右相邻的同学互相成为了好朋友.这学期要分文理科了,每个同学对于选择文科与理科有着自己的喜悦值,而一对好朋友如果能同时选文 ...