go語言的學習 常量和變數

2021-10-25 07:26:51 字數 1642 閱讀 3363

常量

package main

type sint int

func

main()

func

test

(a sint)

iota的用法
const

( a =

0 b =

1 c =2)

//通過iota可以簡化為

const

( a =

iota

b =iota

c =iota

)//繼續簡化

const

( a =

iota

b c)

變數
變數採用 var name type 格式的原因:

避免像c語言一樣有含糊不清的宣告形式

例如:在c語言中 int* a,b中 a為指標,b不是

var a, b *int 輕鬆的將他們宣告為指標型別

從左到右順序閱讀,更加容易閱讀

func

main()

值型別和引用型別
在golang中只有三種引用型別 切片slice,字典map,管道channel(底層用的都是指標),其餘全是值型別

引用資料可以簡單理解為指標型別,他們都是通過make進行初始化

a :=[5

]int

b := a

b[2]

=77fmt.

println

(a, b)

這種的b改變但是a不改變,因為是值傳遞

a :=

int b := a

b[2]

=77fmt.

println

(a, b)

這種的a和b全部改變,因為用的切片本質是位址傳遞

列印輸出

:=賦值操作符

a:=40 相當於加上var 所以 宣告過的變數再用:=會報錯,應該用=改變值的內容

在go中想要拋棄變數的值可以簡單使用a,b=b,a

/*

m函式中對a相當於乙個區域性變數(重新宣告的)

*/package main

var a =

"g"func

main()

funcn(

)funcm(

)/*m中相當於給全域性變數a重新賦值

*/package main

var a =

"g"func

main()

funcn(

)funcm(

)

/*

f2中呼叫的值還是全域性變數,很正常,f1中宣告的變數對f2中不可見

*/package main

var a string

func

main()

funcf1(

)funcf2(

)

init函式

Go語言 變數和常量

我們在這裡需要優先說明的是用於宣告變數的關鍵字var,以及用於宣告常量的關鍵字const。要知道,絕大多數的資料型別的值都可以被賦給乙個變數,包括函式。而常量則不同,它只能被賦予基本資料型別的值本身。變數和常量在宣告方式方面也有所不同。我們可以在宣告乙個變數的時候直接為它賦值,也可以只宣告不賦值。變...

Go語言學習 變數和常量

學習程式語言中變數跟常量我們肯定是脫離不開的這也是入門的基礎 識別符號在程式語言中識別符號對我們開發中變數的命名,常量名,函式名,這裡為什麼不說方法名呢?因為go的方法跟函式長的很像 這個我們後面說 在go語言中識別符號由字母 數字和 下劃線 組成,並且只能以字母和 開頭。舉幾個例子 xiaohu,...

GO語言的變數和常量

所謂變數,就是在程式執行過程中可以修改變化的 量 用來儲存一些程式設計過程中所用到的資料。通過變數的識別符號,來確定變數所用記憶體空間的大小。命名規範 go語言中的變數名由數字 字母 下劃線組成,但不能以數字開頭。合法的變數名 非法的變數名 abc1abc abc abc abc 123 ab c ...