-
GOROOT 安裝包所在路徑,GOPATH go語言的工作目錄
GOBING 存放編譯后的程序
查看全部 -
今天給靜寶寶做了好吃的牛腩燉蘿卜?查看全部
-
指針類型同時擁有指針類型方法和值類型方法,但是值類型只擁有值類型方法
查看全部 -
為什么切片都是基于底層數(shù)組操作呢?有啥好處啊?節(jié)省內(nèi)存,數(shù)組的復(fù)制是值復(fù)制
查看全部 -
slice5 := numbers4[4:6:8] 這里邊的8指的是容量上界的索引,而且不包含numbers4[8]。
查看全部 -
append 之后如果容量沒有超過原容量,還會新建數(shù)組嗎?不會新建數(shù)組,直接修改了底層數(shù)組中的數(shù)據(jù)。實驗代碼
func main() {
? ? var numbers4 = [...]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
? ? slice5 := numbers4[4:6:8]
? ? length := (2)
????capacity := (4)
????fmt.Printf("%v, %v\n", length == len(slice5), capacity == cap(slice5))
????slice5 = slice5[0:1]
????var slice7 = slice5[:3]
???? fmt.Printf("修改前slice7 %v\n", slice7[1])
???? var slice6 = append(slice5, 11)
???? fmt.Printf("修改后slice6 %v\n", slice6[1])
???? fmt.Printf("修改后slice7 %v\n", slice7[1])
???? slice5 = append(slice5, 2)
???? fmt.Printf("修改原始切片后slice7 %v\n", slice7[1])
???? fmt.Printf("修改原始切片后slice6 %v\n", slice6[1])
}
查看全部 -
time.Sleep
runtime.Gosched()
查看全部 -
通過給make第二個參數(shù)傳0構(gòu)造非緩沖通道。
聲明類型時可以指定通道的方向。
單向通道的主要作用是約束程序?qū)νǖ乐档氖褂梅绞健?/p>
查看全部 -
select類似于switch。
其case為多個通道,判定選哪個分支由系統(tǒng)隨機決定,只要該case可行。
相當于內(nèi)建的排隊系統(tǒng)。
case體可包含break,此時立即結(jié)束當前select。
select {
case x :
...
case y:
...
default:
...
}
查看全部 -
可以將通道類比于Linux上的管道。
make函數(shù)可用來初始化數(shù)據(jù),第一個參數(shù)為值的類型,第二個參數(shù)為值的長度。
通道值的長度,應(yīng)該被稱為其緩存的長度。
close函數(shù)可用來關(guān)閉通道,重復(fù)關(guān)閉會報錯:panic: close of closed channel。
若通道已滿,發(fā)送會被阻塞。
相比于某種數(shù)據(jù)類型,將通道理解為通信線路可能更好一點。
即使通道已關(guān)閉,緩沖里的數(shù)據(jù)還是能繼續(xù)讀。
查看全部 -
?
var?numbers4?=?[...]int{1,?2,?3,?4,?5,?6,?7,?8,?9,?10}
slice5?:=?numbers4[4:6:8]??????????????????????//?slice5??????=>?5,6
length2?:=?(2)
capacity2?:=?(4)??????????????????????????????????? ?//?cap(slice5)?=>?numbers4[4:6:8]の?8-4?=?4
fmt.Printf("%v,?%v\n",?length2?==?len(slice5),?capacity2?==?cap(slice5))
slice5?=?slice5[:cap(slice5)]???????????????????//?slice5??????=>?5,6,7,8
slice5?=?append(slice5,?11,?12,?13)????? ?//?slice5??????=>?5,6,7,8,11,12,13
length2?=?(7)?
fmt.Printf("%v\n",?length2?==?len(slice5))
slice6?:=?[]int{0,?0,?0}
copy(slice5,?slice6)?????????????????????????????? //?slice5の値がslice6に変更される?=>?0,0,0,8,11,12,13
e2?:=?(0)?????????????????????????????????????????????? //?slice5[2]???=>?0
e3?:=?(8)?????????????????????????????????????????????? //?slice5[3]???=>?8
e4?:=?(11)???????????????????????????????????????????? //?slice5[4]???=>?11
fmt.Printf("%v,?%v,?%v\n",?e2?==?slice5[2],?e3?==?slice5[3],?e4?==?slice5[4])
查看全部 -
num1?=?014?//?用“0”作為前綴以表明這是8進制表示法。
num1?=?0xC?//?用“0x”作為前綴以表明這是16進制表示法。-0x1000 =-16^3 =-4096
查看全部 -
Go語言中的函數(shù)可以返回多個結(jié)果。
匿名函數(shù)
查看全部 -
特點=》優(yōu)勢:
1、腳本化的語法=》易上手,開發(fā)效率高;
2、靜態(tài)類型、編譯型=》程序運行速度有保障;
3、原生支持并發(fā)編程=》開發(fā)、維護成本低;
劣勢:
1、語法糖少;
2、運行速度超java、C++,不及C;
3、第三方函數(shù)庫不多;
查看全部 -
go語言特點
1、靜態(tài)類型、編譯型、開源
2、腳本化,支持多種編程范式
3、原生、給力的并發(fā)編程支持
查看全部
舉報