【入门】Go语言变量详解

发布时间 2023-03-25 13:57:41作者: 躺平摆烂

一、变量赋值的几种方式

1.1 声明单个变量

语法:

var name type
  • name:变量名称
  • type:变量类型

案例:

package main

func main() {
	var name string
	var age uint
}

1.2 声明多个变量

语法:

var name1,name2 int

案例:

package main

func main() {
	var num1,num2 int
}

1.3 初始化变量

在声明变量时对其进行赋值。
案例:

package main

import "fmt"

func main() {
	var name string = "qinzt"
	var age uint = 22
	// 多变量初始化值
	var height, weight = 1.78, 60.4
	fmt.Printf("姓名:%v 年龄:%d 身高:%.2f 体重%.2f", name, age, height, weight)
}

代码输出结果:

姓名:qinzt 年龄:22 身高:1.78 体重60.40

1.4 变量赋值

在定义变量后,再给变量赋值,也就是先声明后赋值。
案例:

package main

import "fmt"

func main() {
	var name string
	var age uint
	name = "qinzt"
	age = 22
	fmt.Println(name, age)
}

代码输出结果:

qinzt 22

1.5 自动推导类型方式声明变量

自动推到类型:在声明变量时不需要 var变量类型 其变量类型是变量值来决定的。
语法:

name := value
  • name:变量名称
  • value:变量值
    案例:
package main

import "fmt"

func main() {
	name := "qinzt"
	age := 22

	// 自动推导类型,多变量初始化
	height, weight := 1.78, 60.4
	fmt.Println(name, age, height, weight)
}

代码输出内容:

qinzt 22 1.78 60.4

二、输出输入格式控制

2.1 输出格式

输出常使用 fmt.Printlnfmt.Printf

  • fmt.Println:会在输出的内容末尾添加一个换行符
  • fmt.Printf:格式化字符串来输出内容,可以控制输出的格式和精度

案例:

package main

import "fmt"

func main() {
	name := "qinzt"
	age := 22
	height, weight := 1.78, 60.4

	fmt.Println(name, age, height, weight)
	fmt.Printf("姓名:%v 年龄:%v 身高:%.2f 体重:%.2f", name, age, height, weight)
}
  • %v: 值的默认格式表示
  • %.2f: 输出浮点类型,.后面2位

代码输出内容:

qinzt 22 1.78 60.4
姓名:qinzt 年龄:22 身高:1.78 体重:60.40

2.1 输入格式

输出常使用 fmt.Scan 可以接受输入的内容将其赋值给变量
案例:

package main

import "fmt"

func main() {
	var name string
	var age int
	fmt.Println("请输入您的姓名:")
	fmt.Scan(&name)
	fmt.Println("请输入您的年龄:")
	fmt.Scan(&age)
	fmt.Printf("姓名:%v 年龄:%v", name, age)
}

代码输出内容:

请输入您的姓名:
qinzt
请输入您的年龄:
22
姓名:qinzt 年龄:22

2.3 输出变量对应的地址

在内存中变量会开辟对应的存储单元,为了能够找到该存储单元对应数据,系统会给每个单元加上一个编号,这个编号就是变量的地址
案例:

package main

import "fmt"

func main() {
	var name string
	var age int
	fmt.Println(&name, &age)
	fmt.Printf("%p %p", &name, &age)
}

代码输出内容:

0xc000050270 0xc000018098
0xc000050270 0xc000018098

三、变量数据类型

1.1