任何一門語言中最基礎的就是變數了,如果把記憶體比為一格一格整體排列的儲物箱,那麼變數就是每個儲物箱的標識,我們通過變數來訪問計算機記憶體。
關於定義變數的三種方式
1.
package main
import
"fmt"
func
main()
// 1
第二種
前面使用了 var 關鍵字,它就是用來顯式定義變數的。在變數名稱a 後面宣告了變數的型別為整形 int,然後再給它賦上了乙個初值 1。就像js啥的一樣吧。上面的變數定義還可以簡化,將型別去掉,因為編譯器會自動推導變數型別,效果也是一樣的
package main
import
"fmt"
func
main()
// 列印出1
上面的變數定義還可以再一次簡化,去掉 var 關鍵字。不過這樣的話通常是寫在方法內部,並不是作為全域性變數啥的。賦值的等號變成了 :=,它表示變數的「自動型別推導 + 賦值」
之前我也不是很習慣第三種方法,然後其實寫著寫著就習慣了。
package main
import
"fmt"
func
main()
// 列印出1
全域性變數和區域性變數
go語言中的區域性變數值在函式中的變數,函式呼叫結束它就消失了,與之對應的是全域性變數,程式沒有停止,就不會消失。
package main
import
"fmt"
var globalvalue int=11
func
main()
同樣,如果全域性變數的首字母是大些的話,和方法名差不多的,大些就是公開的,小寫就是私有的,只有當前包內的**可以訪問到。
變數與常量
go 語言提供了常量關鍵字 const,用於定義常量。常量可以是全域性常量也可以是區域性常量。常量必須初始化,因為它無法二次賦值。全域性常量的大小寫規則和變數是一致的。
package main
import
"fmt"
const globali int=11
func
main()
指標型別
package main
import
"fmt"
func
main()
// 輸出 0xc4200160a0 42
指標變數本質上就是乙個整型變數,裡面儲存的值是另乙個變數記憶體的位址。* 和 & 符號都只是它的語法糖,是用來在形式上方便使用和理解指標的。* 操作符存在兩次記憶體讀寫,第一次獲取指標變數的值,也就是記憶體位址,然後再去拿這個記憶體位址所在的變數內容。
如果普通的變數是乙個儲物箱,那麼指標變數就是另乙個儲物箱,這個儲物箱裡存放了普通變數所在儲物箱的鑰匙。
同時,要是交換兩個變數的就方便多了。
這樣
i, j = j, i
這樣的話,好像不用引入第三個變數作為交換條件了。
以及對於一些不太想用到的變數可以使用匿名變數。
func
getname()
(firstname, lastname, nickname string
)對了,這裡有個要注意的點,那就是[這個符號要跟在)後面,不能單獨一行。
若只想獲得nickname,則函式呼叫語句可以用如下方式編寫:_,
_, nickname :=
getname
()
基礎資料型別。
package main
import
"fmt"
func
main()
----
----
-----1
2341
2345
5true
abcdefg
3.14
3.141592653
97
golang學習(二) 變數
包的匯入 import fmt variable 變數 1,定義賦值 var num1 int num1 10 var num2 int 20 多個相同型別的變數一起定義和賦值 var str1,str2,str3 string aaa bbb ccc 使用 來定義並初始化變數 注意 只能在函式內部...
golang 學習筆記變數與常量
1 單變數宣告,型別放在變數名之後,可以為任意型別 var 變數名 型別 var v1,v2,v3 string 多變數同型別宣告 2 多變數宣告 var 1 使用關鍵字var,宣告變數型別並賦值 var v1 int 10 2 使用關鍵字var,直接對變數賦值,go可以自動推導出變數型別 var ...
Golang中的變數學習小結
golang裡面變數總的來說分四大型別 1.bool,string bool 指布林型別,也就是true,false string 字串型別 2.u int,u int8,u int16,u int32,u int64,uintptr int 和 uint,其中有u和沒有u指的是unsigned指的...