TASK03 變數 常量 列舉

2021-10-12 05:02:45 字數 2353 閱讀 9160

計算機語言能儲存計算結果或表示值的抽象概念。

可以通過變數名訪問,變數名由字母、數字、下劃線組成,其中首個字元不能為數字。

用var關鍵字宣告

var identifier 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

必須宣告新變數,否則產生編譯錯誤

多變數宣告

//型別相同多個變數,非全域性變數

var vname1,vname2,vname3 type

vname1,vname2,vname3 = v1,v2,v3

var vname1,vname2,vname3 = v1,v2,v3 // 和 python 很像,不需要顯示宣告型別,自動推斷

vname1, vname2, vname3 := v1, v2, v3 // 出現在 := 左側的變數不能是已經被宣告過的,否則會導致編譯錯誤

// 這種因式分解關鍵字的寫法一般用於宣告全域性變數

var(

vname1 v_type1

vname2 v_type2

)

注意:

常量是乙個簡單值的識別符號,在程式執行時,不會被修改的量。

資料型別只可以是布林型、數字型(整數型、浮點型和複數)和字串型。

const identifier [

type

]= value

const b =

"abc"

//多個相同型別的宣告可簡寫為:

const c_name1,c_name2 = value1,value2

//常用於列舉:

const

( unknown =

0 female =

1 male =

2)

常量可以用**len(), cap(), unsafe.sizeof()**函式計算表示式的值。常量表示式中,函式必須是內建函式,否則編譯不過。

package main

import

"fmt"

//iota,特殊常量,可認為是可以被編譯器修改的常量

//**在 const關鍵字出現時將被重置為 0**(const 內部的第一行之前)**,const 中每新增一行常量宣告將使 iota 計數一次(iota 可理解為 const 語句塊中的行索引)。第乙個 iota 等於 0,每當 iota 在新的一行被使用時,它的值都會自動加1**

const

( i =

1<<

iota

j =3<<

iota

k l)func

main()

iota 表示從 0 開始自動加 1,所以 i=1<<0, j=3<<1(<< 表示左移的意思),即:i=1, j=6,這沒問題,關鍵在 k 和 l,從輸出結果看 k=3<<2,l=3<<3。

簡單表述:

注:《列舉,將變數的值一一枚舉出來,變數只限於列舉出來的值的範圍內取值

const

( a =

0 b =

1 c =

2 d =

3)

iota只能用於常量表示式它預設開始值是0,const中每增加一行加1,同行值相同若中間中斷iota,必須顯示恢復
const

( a =

iota

//0 b //1

c //2

)const

( e,f =

iota

,iota

//e = 0,f = 0

g =

iota

// g =1

)const

( a =

iota

//0 b //1

c =100// 100 -中斷iota

d // 100

e =iota

//4 繼續列舉,值從第乙個iota出現開始算

)

Task03 變數 常量 列舉

var 宣告變數 多變數宣告原則 型別相同多個變數,非全域性變數 var vname1,vname2,vname3 type vname1,vname2,vname3 v1,v2,v3 var vname1,vname2,vname3 v1,v2,v3 和 python 很像,不需要顯示宣告型別,自...

Task03 變數 常量 列舉

2.1 變數 變數,是計算機儲存計算結果或表示值的抽象概念。可以通過變數名訪問,變數由字母 數字 下劃線組成,其中首個字元不能為數字。宣告變數的一般形式是使用var關鍵字 var identifier type var identifier1,identifier2 type變數宣告方式 指定變數型...

爬蟲task03心得

通過這一階段的學習,我知道了爬蟲中針對ip被封的解決方案,主要有三種小套路 1,修改請求頭,模擬瀏覽器 而不是 去直接訪問 去訪問 2,採用 ip並輪換 3,設定訪問時間間隔 下面是獲取ip位址的案例 from bs4 import beautifulsoup import requests imp...