面试题答案
一键面试- 使用
var
关键字声明变量- 标准声明格式:
var 变量名 类型
,例如:
var num int
- 适用场景:适用于需要明确指定变量类型,特别是在变量初始化值类型不明确,或者在函数外部声明变量时。比如在包级别的变量声明,一般使用
var
关键字声明。例如:
package main var globalVar int
- 带初始化值声明格式:
var 变量名 类型 = 值
,例如:
var str string = "hello"
- 适用场景:当需要在声明变量时就赋予初始值,且希望明确指定变量类型的场景。比如在进行类型转换相关操作,需要明确变量类型时使用。例如:
var num float64 = float64(5)
- 省略类型声明格式:
var 变量名 = 值
,例如:
var num = 10
- 适用场景:当Go语言的类型推断能够根据初始值准确推断出变量类型时使用。这种方式简洁,在函数内部经常使用。
- 标准声明格式:
- 简短声明方式(
:=
)- 格式:
变量名 := 值
,例如:
num := 20
- 适用场景:只能在函数内部使用,用于快速声明并初始化一个新变量。如果变量已经声明过,使用
:=
会导致编译错误。它适用于在函数内部局部变量的快速声明和初始化,代码简洁高效。例如在循环中声明计数器变量:
for i := 0; i < 10; i++ { // 循环体 }
- 格式:
- 声明多个变量
- 使用
var
关键字:var (变量名1 类型1变量名2 类型2)
,例如:
var ( num1 int num2 float64 )
- 适用场景:适用于一次声明多个不同类型的变量,尤其是在函数外部或者需要对多个变量进行统一管理声明时。
- 带初始化值:
var (变量名1 类型1 = 值1变量名2 类型2 = 值2)
,例如:
var ( num1 int = 1 num2 float64 = 2.5 )
- 适用场景:当需要在声明多个变量的同时赋予初始值,且明确每个变量类型时使用。
- 简短声明多个变量:
变量名1, 变量名2 := 值1, 值2
,例如:
num1, num2 := 3, 4.5
- 适用场景:在函数内部,当需要同时声明并初始化多个新变量时使用,简洁高效。例如在函数返回多个值时接收这些值:
func addAndMultiply(a, b int) (int, int) { return a + b, a * b } sum, product := addAndMultiply(2, 3)
- 使用