一 golang基礎知識 Go(又稱 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 開發的一種電腦編程語言語言。 設計初衷 Go語言是谷歌推出的一種的編程語言,可以在不損失應用程式性能的情況下降低代碼的複雜性。谷歌首席軟體工程 ...
一 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"
作者:倉儲大叔,張占嶺,
榮譽:微軟MVP
QQ:853066980
支付寶掃一掃,為大叔打賞!