go中的變數重名

2021-09-08 16:38:26 字數 580 閱讀 8882

變數的查詢過程:

例如:

package main

import "fmt"

var block = "package"

func main()

fmt.printf("the block is %s.\n", block)

//func1()

}func func1()

輸出結果:

the block is 11111.

the block is package.

the block is function.

可重名變數和變數重新命名的區別:

變數重宣告中的變數一定是在同一**塊內的。這裡的「某一**塊內」並不包含它的任何子**塊,否則就變成了「多個**塊之間」。而可重新命名變數指的正是在多個**塊之間由相同的識別符號**的變數。

變數重宣告是對同一變數的多次宣告,這裡的變數只有乙個。而可重名白能量中涉及的變數肯定是有多個的。

無論對變數重宣告多少次,其型別必須始終一致,具體遵從它第一次被宣告時給定的型別。而可重名比那輛之間不存在類似的限制,他們的型別是任意的 。

js中變數提公升與函式變數重名

var a 1 function b b console.log a 輸出結果為1 進行變數提公升之後的 var a function b a 10 return a 1 b console.log a 在函式b中先通過function關鍵字宣告了乙個a函式,相當於 var a function 這...

關於JS變數重名

var a hellow function test test 如上面一段 執行結果為 undefined 1 咋一看略顯奇怪 為什麼第一次alert的不是 hellow 這是因為js中對變數宣告 和 變數賦值 的區別 在js指令碼執行之前,會先將已宣告的函式進行解析 解析過程中用var宣告的變數就...

JS中變數名和函式名重名

var x 12 var x 13 function x console.log x 13 err x is not a function x 這個串 執行完會報錯 a is not a function 問題來了,為什麼會報這個錯誤呢?這裡涉及到函式和變數的預解析 1 函式宣告會置頂 2 變數宣告...