【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
相关推荐
Heartoxx27 分钟前
c语言-指针与一维数组
c语言·开发语言·算法
hqxstudying29 分钟前
Java创建型模式---原型模式
java·开发语言·设计模式·代码规范
Love__Tay39 分钟前
笔记/云计算基础
笔记·学习·云计算
charlie1145141911 小时前
如何使用Qt创建一个浮在MainWindow上的滑动小Panel
开发语言·c++·qt·界面设计
神仙别闹1 小时前
基于Python实现LSTM对股票走势的预测
开发语言·python·lstm
chao_7892 小时前
回溯题解——子集【LeetCode】二进制枚举法
开发语言·数据结构·python·算法·leetcode
尘世闲鱼4 小时前
解数独(C++版本)
开发语言·c++·算法·解数独
wuxuanok4 小时前
Web后端开发-分层解耦
java·笔记·后端·学习
不老刘4 小时前
基于LiveKit Go 实现腾讯云实时音视频功能
golang·腾讯云·实时音视频
纨妙4 小时前
python打卡day59
开发语言·python