- Syntactic block: Enclosed in braces
- Lexical block: Not explicitly surrounded by braces
- Universe block: A lexical block for the entire source code. Include built-in types, function.. Can be referred throughout the entire program
- Package level declarations: out side any function can be referred to from any file in the same package
- File level declarations: in imported path, can be referred in the same file, but not from another file in the same package without another import.(Ex. "fmt" is imported in packageFile1.go, packageFile2.go can not use "fmt", need import by itself)
- Declared function can be referenced in the same package, even in different file.
- Inner shadow outer block name: Compiler find the innermost enclosing lexical block an up to the universe block. When a name is declared in outer and inner block, inner declaration will be found first.
- This example shows inner x hide outer x
- This example shows we can declare x and y in "if-else" scope, the the variable is not available out of "if-else" scope
- This example shows we can limit file read variables in "if-else" scope
- Avoid declare := in a separate var declaration In order to prevent potential problem.
Go - Scope
訂閱:
張貼留言 (Atom)
別名演算法 Alias Method
題目 每個伺服器支援不同的 TPM (transaction per minute) 當 request 來的時候, 系統需要馬上根據 TPM 的能力隨機找到一個適合的 server. 雖然稱為 "隨機", 但還是需要有 TPM 作為權重. 解法 別名演算法...
-
spring.jpa.open-in-view spring boot 的 property, spring.jpa.open-in-view 預設是開啟的 開啟的話, OpenSessionInViewInterceptor 就會介入 收到 web request 的時候...
-
Introduction One day, Cassandra stop listening for thrift client until restart it manually. After checking Cassandra log, found it enco...
-
第一次錄影片分享技術議題. Source code: https://github.com/axxdeveloper/study-practice/tree/gpb 主要其實就是之後可以用 Any.pack( gpbEntity ).toByteArray 傳送出去. 接收端也...
沒有留言:
張貼留言