Golang的变量

一什么是变量

一个程序就是一个世界
变量是程序的基本组成单位

二变量介绍

1概念

量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房间,同样的道理,通过变量名可以访问到变量(值)

2变量使用的基本步骤

  • 声明变量(定义变量)
  • 赋值
  • 使用变量

3变量的声明,初始化和赋值

声明变量

基本语法: var 变量名 数据类型
var a int 这就是声明了一个变量,变量名是a
var num1 float32 这也声明了一个变量,表示一个单精度类型的小数,变量名是num1

初始化变量

在声明变量的时候,就给值
var a int = 45 这就是初始化变量a
使用细节:如果声明时就直接赋值,可省略数据类型
var b = 400

给变量赋值

比如你先声明了变量:var num int //默认0
然后,再给值 num = 780;这就是给变量赋值

4案例

package main

import "fmt"

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

}

会输入 i= 10

5变量使用注意事项

  • 1)变量表示内存中的一个存储区域
  • 2)该区域有自己的名称(变量名)和类型(数据类型)
  • 3)Golang变量使用的三种方式
    第一种:指定变量类型,声明后若不赋值,使用默认值
    第二种:根据值自行判定变量类型(类型推导)
    第三种:省略var,注意:=左侧的变量不应该是已经声明过的,否则会导致编译错误
  • 4)多变量声明
    在编程种,有时我们需要一次性声明多个变量,Golang也提供这样的语法
  • 5)如何一次性声明多个全局变量
  • 6)该区域的数据值可以在同一类型范围内不断变化
  • 7)变量在同一个作用域(在一个函数或者在代码块)内不能重名
  • 8)变量=变量名+值+数据类型,这一点请大家注意,变量的三要素
  • 9)Golang的变量如果没有赋初值,编译器会使用默认值,比如int默认值0 string默认值为空串,小数默认为0

1)-2)

Golang的变量_第1张图片

3)-4)

package main

import "fmt"

func main() {
	//golang 的变量使用方式1
	//第一种:指定变量类型,声明后若不赋值,使用默认值
	// int的默认值是0,其他数据类型的默认值后面马上介绍
	var i  int
	// , 表示输出完前面的,接着输出后面的
	fmt.Println("i=", i)
	
	
	//第二种:根据值自行判定变量类型(类型推导)
    var num = 10.11
	fmt.Println("num=", num)
	
	//第三种:省略var,注意:=左侧的变量不应该是已经声明过的,否则会导致编译错误
	//下面的方式等价 
	//var name string  
    //name = "tom"
    // := 的 :不能省略,否则错误
	name := "tom"
    fmt.Println("name=", name)
    
    //一次性声明多个变量的方式1
	var n1, n2, n3 int
    fmt.Println("n1=",n1,"n2=",n2,"n3=",n3)

	//一次性声明多个变量的方式2
	var a1, name2, a3 = 100, "tom", 888
	fmt.Println("a1=",a1,"name2=",name2,"a3=",a3)

	//一次性声明多个变量的方式3,同样可以使用类型推导
	s1, name3, s3 := 100, "tom~", 888
	fmt.Println("s1=",s1,"name3=",name3,"s3=",s3)

}

> go run main.go
i= 0
num= 10.11
name= tom
n1= 0 n2= 0 n3= 0
a1= 100 name2= tom a3= 888
s1= 100 name3= tom~ s3= 888

5)全局变量:如何一次性声明多个全局变量

package main

import "fmt"

//定义全局变量
var n1 = 100
var n2 = 200
var name = "jack"
//上面的声明方式,也可以改成一次性声明
var (
	n3 = 300
	n4 = 900
	name2 = "mary" 
)


func main() {
	//输出全局变量
	fmt.Println("n1=",n1, "name=",name, "n2=",n2)
	fmt.Println("n3=",n3, "name2=",name2, "n3=",n3)

	} 

> go run main.go
n1= 100 name= jack n2= 200
n3= 300 name2= mary n4= 900

6)-7)

package main

import "fmt"

//变量使用的注意事项

func main() {
	//该区域的数据值可以在同一类型范围内不断变化,下面执行结果是i= 50
	//不能改变数据类型 
	var i int = 10
	i = 30
	i = 50 
	fmt.Println("i=",i)
	} 
	
	//变量在同一个作用域(在一个函数或者在代码块)内不能重名
	// var i  int = 27  在同一个作用域再定义i 就会报错
    // i  := 29  在同一个作用域再定义i 就会报错
	
	

三程序中+号的使用

1)当左右两边都是数值型时,则做加否运算
2)当左右两边都是字符串,则做字符串拼接

package main

import "fmt"

//演示golang中+的使用
func main() {
   var i = 1
   var j = 2
   var r = i + j  //做加法运算
   fmt.Println("r=",r)
	
   var str1 = "hello"
   var str2 = "world"
   var res = str1 + str2   //做拼接操作
   fmt.Println("res=", res)
   } 

> go run main.go
r= 3
res= helloworld

你可能感兴趣的:(Go语言学习笔记,golang,开发语言)