iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 6
0

前面二天介紹了go的基本型別,現在來介紹一下go的常數與變數寫法

const

常數寫法很簡單,只要用const來宣告就行了,
要不要加型別都行喔,golang會自行判斷,
而常數宣告後是不能進行改變值喔,不然會噴錯誤

cannot assign to XXX

func內部的const

package main

import (
	"fmt"
)

func main() {
    const aa = "test"
    const bb string = "GG"
	fmt.Println(aa)
	fmt.Println(bb)
}

全域常數

package main

import (
	"fmt"
)

const aa = "test"
const bb string = "GG"

func main() {
	fmt.Println(aa)
	fmt.Println(bb)
}

但是slice不能用const來宣告喔,會噴錯,要使用var來宣告

package main

import (
	"fmt"
)

const cc = []int64{1, 2, 3, 4, 5}

func main() {
	fmt.Println(cc)
}
const initializer []int64 literal is not a constant

var

golang宣告變數有二種寫法,要使用哪種寫法視情形選擇就好,沒有那種才是正確的寫法~~~

1.使用var來宣告變數

//可以單純宣告變數
var a string
//也可宣告變數並給預設值
var b int64 = 999

如果沒給預設值時,系統會給string -> "",int -> 0 ,bool ->false做預設值

2.使用 := 來宣告

a:= "abc"
b:= 999
package main

import (
	"fmt"
)

func main() {
	var a string
	var b int64 = 999
	fmt.Println(a, b)

	c := "itzy is good"
	d := 12345
	fmt.Println(c, d)
}

宣告時的一些小細節

1.不可以用保留字或是關鍵字,如下表格:
| |
|---|---|---|---|---|---|
|break|default|func |interface|select|var
|case|defer|go|map|struct|return
|chan|else|goto|package|switch|import
|const|fallthrough|if|range|type|for
|continue|||||
|append |bool |byte |cap |close |complex|
|complex64 |complex128 |uint16 |copy| false |float32|
|float64 |imag |int |int8 |int16 |uint32|
|int32 |int64 |iota |len |make |new|
|nil |panic |uint64 |print |println |real|
|recover |string |true |uint |uint8 |uintprt|
2.第一個字要是英文字母或是用底線,不可使用數字當第一位。
3.宣告變數時,第一位的大小寫是有意義的喔,如果以用大寫開頭的話,表示這個變數可以給外面使用,跟c#的public一樣,如果用小寫開頭的話,表示只限自己使用或是func內部使用,跟c#的private一樣,這一點要記得喔~~


上一篇
[DAY5]認識GO-下
下一篇
[DAY7]GO的運算子
系列文
欸你這週GO了嘛30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言