原站地址:Go语言核心36讲_Golang_Go语言-极客时间
一、基础知识
1. 两种声明变量方式的差异:
短变量声明 name := "abc" 只能在函数体内部使用。
var name = "abc" 这方式才可以用在所有地方。
2. 类型推断有什么好处? 代码重构时更方便,只要修改一处定义数据类型的代码,其他位置的数据类型都会自动推断。
3. 变量的重声明是什么?有什么好处?
var err error
n, err := io.WriteString(os.Stdout, "Hello, everyone!\n")
err 被声明了两次,这就是重声明。好处是可以重复使用同一个变量名,拷贝代码方便。
4. 重声明 有什么限制条件?
(1) 再次声明时的数据类型不能改变。
(2) 需要使用短变量声明。
(3) 声明并赋值的变量必须有多个,并且至少要有一个是新的变量
5. 具有嵌套关系的不同代码块间,存在重名的变量
(1) 可以编译通过,内层代码块中,会使用内层的变量,屏蔽掉外层的。
(2) 内层和外层的变量是两个独立的变量,所以可以数据类型不同。它们只是名字相同。
(3) 代码运行是,查找变量的顺序是,从内部往外部。
var block = "package"
func main() {
block := "function"
{
block := "inner"
}
}