golang基礎知識
一 golang基礎知識
Go(又稱 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 開發的一種計算機編程語言語言。
設計初衷
Go語言是谷歌推出的一種的編程語言,可以在不損失應用程序性能的情況下降低代碼的復雜性。谷歌首席軟件工程師羅布派克(Rob Pike)說:我們之所以開發Go,是因為過去10多年間軟件開發的難度令人沮喪。派克表示,和今天的C++或C一樣,Go是一種系統語言。他解釋道,"使用它可以進行快速開發,同時它還是一個真正的編譯語言,我們之所以現在將其開源,原因是我們認為它已經非常有用和強大。"
- 計算機硬件技術更新頻繁,性能提高很快。目前主流的編程語言發展明顯落后于硬件,不能合理利用多核多CPU的優勢提升軟件系統性能。
- 軟件系統復雜度越來越高,維護成本越來越高,目前缺乏一個足夠簡潔高效的編程語言。
- 企業運行維護很多c/c++的項目,c/c++程序運行速度雖然很快,但是編譯速度確很慢,同時還存在內存泄漏的一系列的困擾需要解決。
應用領域

數據類型
- int :有符號的整數類型:具體占幾個字節要看操作系統的分配:不過至少分配給32位。
- uint:非負整數類型:具體占幾個字節要看操作系統的分配:不過至少分配給32位。
- int8:有符號的整數類型:占8位bit:1個字節。范圍從負的2的8次方到正的2的8次方減1。
- int16:有符號的整數類型:占16位bit:2個字節。范圍從負的2的16次方到正的2的16次方減1。
- int32:有符號的整數類型:占32位bit:4個字節。范圍從負的2的32次方到正的2的32次方減1。
- int64:有符號的整數類型:占64位bit:8個字節。范圍從負的2的64次方到正的2的64次方減1。
- uint8:無符號的正整數類型:占8位:從0到2的9次方減1.也就是0到255.
- uint16:無符號的正整數類型:占16位:從0到2的8次方減1.
- uint32:無符號的正整數類型:占32位:從0到2的32次方減1.
- uint64:無符號的正整數類型:占64位:從0到2的64次方減1.
- uintptr:無符號的儲存指針位置的類型。也就是所謂的地址類型。
- rune :等于int32:這里是經常指文字符。
- byte:等于uint8:這里專門指字節符
- string:字符串:通常是一個切片類型:數組內部使用rune
- float32:浮點型:包括正負小數:IEEE-754 32位的集合
- float64:浮點型:包括正負小數:IEEE-754 64位的集合
- complex64:復數:實部和虛部是float32
- complex128:復數:實部和虛部都是float64
- error:錯誤類型,真實的類型是一個接口。
- bool:布爾類型
基礎組件分為以下幾種
- 引用類型
- slice
- interface
- chan
- map
- 非引用類型
- array
- func
- struct
聲明包和引用包
package main
import (
"fmt"
"lind-go/common"
//自定義的本項目的包
_ "lind-go/common"
)
賦值符號
var a
b :=
其中var 這種方式不論是局部還是全局變量都可以使用,但是后者也就是:=只有局部變量可以使用。也就是只有函數內部才能使用。
并且,var后面的變量后面的類型是可以省略的,省略后,go會在編譯過程中自動判斷。所以如果不省略就是長這樣 var a int 。
數組的初始化
// 初始化的方式1
a := [6]string{}
// 初始化的方式2
var a [6]string
a[0] = "0"
a[1] = "1"
a[2] = "2"
a[3] = "3"
a[4] = "4"
a[5] = "5"
浙公網安備 33010602011771號