2.1 變數
變數,是計算機儲存計算結果或表示值的抽象概念。可以通過變數名訪問,變數由字母、數字、下劃線組成,其中首個字元不能為數字。
宣告變數的一般形式是使用var
關鍵字:
var identifier type
var identifier1, identifier2 type
變數宣告方式:
指定變數型別,若沒有初始化,數值型別(包括 complex64/128)預設零值,bool 預設 false,字串預設「」,「var a *int、var a int、var a map[string] int、var a chan int、var a func(string) int、var a error // error 是介面預設 nil
可根據值自行判斷型別
「: =「宣告,省略 var,注意 := 左側必須宣告新的變數,否則產生編譯錯誤,格式:v_name := value
多變數宣告:
//型別相同的多個變數,非全域性變數
var vname1, vname2, vname3 type
vname1, vname2, vname3 :=v1, v2, v3
var vame1, vname2, vname3 = v1, v2, v3 // 不需要顯式宣告型別,通過自行判斷的方法,和 python 類似
vname1, vname2, vname3 := v1, v2, v3 //這種方法會報錯,因為上邊這幾個變數已經被宣告過
var (
vname1 v_type1
vname2 vtype2
)//一般適用於宣告全域性變數
注意:
「:=」 賦值操作符,高效建立新變數,初始化宣告:a := 50 或 b := false,a 和 b 的型別(int 和 bool)將由編譯器自動推斷
這是使用變數的首選形式,但是它只能被用在函式體內,而不可以用於全域性變數的宣告與賦值
在相同的**塊中,我們不可以再次對於相同名稱的變數使用初始化宣告,但可以賦值;
宣告了乙個區域性變數卻沒有在相同的**塊中使用它,同樣會得到編譯錯誤
全域性變數可以宣告但不使用
_ 實際上是乙個只寫變數,你不能得到它的值。這樣做是因為 go 語言中必須使用所有被宣告的變數,但有時你並不需要使用從乙個函式得到的所有返回值
常量是乙個簡單值的識別符號,在程式執行時,不會被修改的量。資料型別只可以是布林型、數字型(整數型、浮點型和複數)和字串型
常量的定義格式:(省略型說明符[type],因為編譯器可以根據變數的值來推斷其型別)
const identifier [type] = value
const b = "abc"
多個相同型別的宣告可以簡寫為:
const c_name1, c_name2 = value1, value2
常用於列舉:
const (
unknown = 0
female = 1
male = 2
)0, 1, 2 代表未知、女、男
常量可以用 len(),cap(),unsafe.sizeof() 函式計算表示式的值。常量表示式中,函式必須是內建函式,否則編譯不過
iota特殊常量,可認為是可以被編譯器修改的常量。在 const 關鍵字出現時將被重置為 0 (const 內部的第一行之前),const 中每新增一行常量宣告將使 iota 計數一次(iota 可理解為 const 語句塊中的行索引)。第乙個 iota 等於 0,每當 iota 在新的一行被使用時,他的值都會自動加 1
package main
import "fmt"
const (
i = 1簡單表述:
注:《列舉,將變數的值一一枚舉出來,變數只限於列舉出來的值的範圍內取值。go 語言中沒有列舉這種資料型別,但是可以使用 const 配合 iota 模式來實現
2.3.1 普通列舉const (
a = 0
b = 1
c = 2
d = 3
)
2.3.2 自增列舉
iota 只能用於常量表示式
它預設開始值為0,const 中每增加一行自增 1,同行值相同
const(
a = iota //0
c //1
d //2
)
若中間中斷 iota,必須顯式恢復
const (
a = iota //0
b //1
c = 100 //100
d //100
e= iota //4
)
Task03 變數 常量 列舉
var 宣告變數 多變數宣告原則 型別相同多個變數,非全域性變數 var vname1,vname2,vname3 type vname1,vname2,vname3 v1,v2,v3 var vname1,vname2,vname3 v1,v2,v3 和 python 很像,不需要顯示宣告型別,自...
TASK03 變數 常量 列舉
計算機語言能儲存計算結果或表示值的抽象概念。可以通過變數名訪問,變數名由字母 數字 下劃線組成,其中首個字元不能為數字。用var關鍵字宣告 var identifier type宣告方式 制定變數型別 若沒有初始化,數值型別 包括complex64 128 預設零值,bool預設false,字串預設...
爬蟲task03心得
通過這一階段的學習,我知道了爬蟲中針對ip被封的解決方案,主要有三種小套路 1,修改請求頭,模擬瀏覽器 而不是 去直接訪問 去訪問 2,採用 ip並輪換 3,設定訪問時間間隔 下面是獲取ip位址的案例 from bs4 import beautifulsoup import requests imp...