【golang学习之旅】Go中的变量(1)

系列文章

【golang学习之旅】使用VScode安装配置Go开发环境
【golang学习之旅】报错:a declared but not used
【golang学习之旅】Go 的基本数据类型
【golang学习之旅】深入理解字符串string数据类型
【golang学习之旅】go mod tidy
【golang学习之旅】记录一次 panic case : reflect: reflect.Value.SetInt using unaddressable value
【golang学习之旅】记录一次 error case : full error output: cc1: error: unrecognized command line option
【golang学习之旅】Go程序快速开始 & Go程序开发的基本注意事项
【golang学习之旅】Go语言常用转义字符


目录


变量声明方式

第一种

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

go 复制代码
package main

import "fmt"

func main() {
    // 不赋值
	var var1 int
	fmt.Println("var1:", var1)
    // 赋值
    var var2 int = 10
	fmt.Println("var2:", var2)
}

输出:
var1: 0
var2: 10

说明:

  • 这里的变量声明格式:

    • var 变量名 变量类型
    • var 变量名 变量类型 = 初值
  • var 这个关键字用来表示后面跟着的是变量

  • int 类型变量的默认值是0

第二种

不直接写出类型,但需写出变量值,编译器会根据值自动判定变量类型(类型推导)。

go 复制代码
package main

import (
	"fmt"
	"reflect"
)

func main() {
	var num = 10
	fmt.Println("num = ", num)
	fmt.Println("num 的类型是", reflect.TypeOf(num))

	var str = "hello world!"
	fmt.Println("str = ", str)
	fmt.Println("str 的类型是", reflect.TypeOf(str))
}

输出:
num =  10
num 的类型是 int
str =  hello world!
str 的类型是 string

说明:

  • 这里的变量声明格式:

    • var 变量名 = 初值
  • reflect包下的TypeOf函数用于获取变量的类型信息

第三种

省略 var 关键字,而使用 := 这个符号。

go 复制代码
package main

import (
	"fmt"
	"reflect"
)

func main() {
	num := 10.0
	fmt.Println("num = ", num)
	fmt.Println("num 的类型是", reflect.TypeOf(num))

	str := "hello world!"
	fmt.Println("str = ", str)
	fmt.Println("str 的类型是", reflect.TypeOf(str))
}

输出:
num =  10
num 的类型是 float64
str =  hello world!
str 的类型是 string

说明:

  • 这里的变量声明格式:

    • 变量名 := 初值
  • :=左侧的变量必须是没有声明过的


多变量声明

局部变量

go 复制代码
package main

import "fmt"

func main() {
	// 多变量类型相同
	var n1, n2, n3 int
	fmt.Println("n1 = ", n1, "n2 = ", n2, "n3 = ", n3)
	// 多变量类型不同--使用var声明
	var n4, str1, f1 = 1, "hello", 3.4
	fmt.Println("n4 = ", n4, "str1 = ", str1, "f1 = ", f1)
	// 多变量类型不同--使用 := 声明
	n5, str2 := 10, "world"
	fmt.Println("n5 = ", n5, "str2 = ", str2)
}

输出:
n1 =  0 n2 =  0 n3 =  0
n4 =  1 str1 =  hello f1 =  3.4
n5 =  10 str2 =  world

全局变量

可以使用小括号()来一次性声明全局变量

go 复制代码
package main

import "fmt"

var (
	n1  = 10
	n2  = 20
	str = "hello"
)

func main() {
	fmt.Println("n1:", n1, "n2:", n2, "str:", str)
}

输出:
n1: 10 n2: 20 str: hello
相关推荐
星迹日3 分钟前
Java: 数据类型与变量和运算符
java·开发语言·经验分享·笔记
六点半8884 分钟前
【C++】vector 常用成员函数的模拟实现
开发语言·c++·算法
Kalika0-05 分钟前
输出不能被3整除的数-C语言
c语言·开发语言
knoci1 小时前
【Go】-基于Gin框架的IM通信项目
开发语言·后端·学习·golang·gin
fxybg20221 小时前
AI助力PPT制作:开启高效创作新时代
人工智能·学习·pdf·word·powerpoint
RaidenQ1 小时前
2024.9.27 Python面试八股文
linux·开发语言·python
Thomas_YXQ3 小时前
Unity3D PostLateUpdate为何突然占用大量时间详解
开发语言·数码相机·游戏·unity·架构·unity3d
4 小时前
中药材识别
笔记·学习·中医药
Pandaconda4 小时前
【计算机网络 - 基础问题】每日 3 题(二十七)
开发语言·经验分享·笔记·后端·计算机网络·面试·职场和发展
禁默5 小时前
C++之stack 和 queue
开发语言·数据结构·c++