golang-包與基本數據類型

使用規則

  1. 一個文件夾下只能有一個包,同一個包的文件不能再多個文件夾下。
  2. 如果文件導入的package不是main包,而是其他名稱的包(比如hello),編譯時會生成hello.a文件,這個.a文件不是可執行文件,而是用來被導入使用。
  3. 在包級別聲明的變量,如果有初始化表達式則用表達式初始化,還有一些沒有初始化表達式的,例如某些表格數據初始化並不是一個簡單的賦值過程。在這種情況下,我們可以用一個特殊的init初始化函數來簡化初始化工作。這樣的init初始化函數除了不能被調用或引用外,其他行爲和普通函數類似。在每個文件中的init初始化函數,在程序開始執行時按照它們聲明的順序被自動調用。
  4. 每個包在解決依賴的前提下,以導入聲明的順序初始化,每個包只會被初始化一次。因此,如果一個p包導入了q包,那麼在p包初始化的時候可以認爲q包必然已經初始化過了。初始化工作是自下而上進行的,main包最後被初始化。以這種方式,可以確保在main函數執行之前,所有依賴的包都已經完成初始化工作了。

下圖爲包的導入順序以及init函數的執行順序

 

使用方式

import "cbwcole.com/demo"  // 直接導入


mport(
. "fmt"  // 點操作
)  


import(
f "fmt"  // 別名操作,別名操作後,可以使用f代替fmt。比如 f.println("hello")
)


import (
  “database/sql” 
_ “github.com/ziutek/mymysql/godrv” 
  
  // 下劃線操作,如果我們只用到某個包的init方法,可以在導入該包的前面加上下劃線,多用在數據庫驅動 
  //  方面。tips(該包所有的init方法都會被調用)
)

 

基本數據類型

Go中,基本數據類型主要有以下4種

1 布爾型
布爾型的值只可以是常量 true 或者 false。一個簡單的例子:var b bool = true。
2 數字類型
整型 int 和浮點型 float32、float64,Go 語言支持整型和浮點型數字,並且支持複數,其中位的運算採用補碼。
3 字符串類型:
字符串就是一串固定長度的字符連接起來的字符序列。Go 的字符串是由單個字節連接起來的。Go 語言的字符串的字節使用 UTF-8 編碼標識 Unicode 文本。
4 派生類型:
包括:
  • (a) 指針類型(Pointer)
  • (b) 數組類型
  • (c) 結構化類型(struct)
  • (d) Channel 類型
  • (e) 函數類型
  • (f) 切片類型
  • (g) 接口類型(interface)
  • (h) Map 類型

 

詳細數字類型

1 uint8   就是我們熟知的byte類型
無符號 8 位整型 (0 到 255)      2**8
2 uint16
無符號 16 位整型 (0 到 65535)
3 uint32
無符號 32 位整型 (0 到 4294967295)
4 uint64
無符號 64 位整型 (0 到 18446744073709551615)
5 int8
有符號 8 位整型 (-128 到 127)
6 int16
有符號 16 位整型 (-32768 到 32767)
7 int32
有符號 32 位整型 (-2147483648 到 2147483647)
8

int64
有符號 64 位整型 (-9223372036854775808 到 9223372036854775807)

不帶數字的int類型,跟系統有關,例如在32位系統上,int就是int32,在64位系統上,int就是int64。

 

浮點型(任何語言的浮點數都是不精確的,只能說盡可能的精確到多少位)

1 float32
IEEE-754 32位浮點型數
2 float64
IEEE-754 64位浮點型數
3 complex64
32 位實數和虛數
4 complex128
64 位實數和虛數

其他數字類型

1 byte
類似 uint8
2 rune
類似 int32。主要用在循環操作中處理某些中文亂碼的問題
3 uint
32 或 64 位
4 int
與 uint 一樣大小
5 uintptr
無符號整型,用於存放一個指針

 

如果對你有幫助,可否在文章右側點個贊再走呢~~

 

本文爲原創,轉載請註明出處

 

golang-特點

python魔法方法(部分)

python complex函數

python避坑篇

python部分高級用法

python開發手冊

python內置函數(下)

python內置屬性,函數

python異常處理

python lambda函數

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章