-
source /etc/profile
查看全部 -
單一用戶:~/.bash_profile
多用戶:/etc/profile
環(huán)境變量:
export GOROOT=/usr/local/go
export GOPATH=~/golib:~/goproject
export GOBIN=~/gobin
export PATH=$PATH:$GOROOT/bin:$GOBIN
查看全部 -
如果填的是0,代表`myChannel`是一個(gè)非緩存通道。發(fā)送方在向通道值發(fā)送數(shù)據(jù)的時(shí)候會(huì)立即被阻塞,直到有某一個(gè)接收方已從該通道值中接收了這條數(shù)據(jù)。
所以在第一個(gè)匿名函數(shù)執(zhí)行到`sender <- number`語(yǔ)句之后,便被阻塞了,這時(shí)第二個(gè)匿名函數(shù)開始被執(zhí)行。等到語(yǔ)句`fmt.Println("Received!", <-receiver)`被執(zhí)行之后,通道內(nèi)的值被清空了,`sender <- number`之后的語(yǔ)句繼續(xù)被執(zhí)行。所以就會(huì)看到
Received!?6
Sent!
? ?
查看全部 -
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[:cap(slice5)]
slice5 = append(slice5, 11, 12, 13)
length = (7)
fmt.Printf("%v\n", length == len(slice5))
slice6 := []int{0, 0, 0}
copy(slice5, slice6)
e2 := (0)
e3 := (8)
e4 := (11)
fmt.Printf("%v, %v, %v\n", e2 == slice5[2], e3 == slice5[3], e4 == slice5[4])
}
查看全部 -
一個(gè)切片值的容量即為它的第一個(gè)元素值在其底層數(shù)組中的索引值與該數(shù)組長(zhǎng)度的差值的絕對(duì)值
查看全部 -
length := (3)
capacity := (3)
查看全部 -
func main() {
? ? var numbers2 [5]int
numbers2[0] = 2
numbers2[3] = numbers2[0] - 3
numbers2[1] = numbers2[2] + 5
numbers2[4] = len(numbers2)
sum := (11)
// “==”用于兩個(gè)值的相等性判斷
fmt.Printf("%v\n", (sum == numbers2[0]+numbers2[1]+numbers2[2]+numbers2[3]+numbers2[4]))
}
查看全部 -
num1 int
num2 int
num3 int查看全部 -
有符號(hào)的整數(shù)類型int和無(wú)符號(hào)的整數(shù)類型uint
查看全部 -
0.000589
查看全部 -
基礎(chǔ)命令
go run :
1、用于運(yùn)行命令源碼文件,只能接受1個(gè)命令源碼文件以及若干個(gè)庫(kù)源碼文件作為文件參數(shù)。2、操作步驟? 先編譯源碼文件 》臨時(shí)文件夾? 》運(yùn)行? 》結(jié)果:可執(zhí)行文件? 以及? 歸檔文件
查看全部 -
命令的更多細(xì)節(jié)以及更多命令,參見(jiàn)《Go命令教程》:
https://github.com/hyper-carrot/go_command_tutorial
查看全部 -
Go語(yǔ)言原生的支持并發(fā)
查看全部 -
請(qǐng)?jiān)诿钤创a文件index.go的第12行的反引號(hào)中填入變量str1所代表的字符串值。
```
package main
import (?
? ? "fmt"?
)
func main() {
? ? // 聲明一個(gè)string類型變量并賦值
? ? var str1 string = "\\\""?
? ??
? ? // 這里用到了字符串格式化函數(shù)。其中,%q用于顯示字符串值的表象值并用雙引號(hào)包裹。
? ? fmt.Printf("用解釋型字符串表示法表示的 %q 所代表的是 %s。\n", str1, (`\"`) )//12行
}
```
"\\\""所代表的字符串值是\"。
查看全部 -
go run
????用于運(yùn)行命令源碼文件
????只能接受一個(gè)命令源碼文件以及若干個(gè)庫(kù)源碼文件作為文件參數(shù)
go bulid
go install
go get
查看全部 -
Go語(yǔ)言的優(yōu)勢(shì)
1,腳本化的語(yǔ)法
2,靜態(tài)類型+編譯型,程序運(yùn)行速度有保障,速度大于動(dòng)態(tài)類型+解釋型語(yǔ)言,速度高出很多
3,原生的支持并發(fā)編程
降低開發(fā)、維護(hù)成本
程序可以更好的執(zhí)行
Go語(yǔ)言的劣勢(shì)
1,語(yǔ)法糖并沒(méi)有Python和Ruby那么多
2,目前的程序運(yùn)行速度還不及C,速度已趕超C++和java
3,第三方函數(shù)庫(kù)暫時(shí)不像絕對(duì)主流的編程語(yǔ)言那么多
查看全部 -
Go源碼文件:名稱以.go為后綴,內(nèi)容以Go語(yǔ)言代碼組織的文件 ? 多個(gè)Go源碼文件是需要用代碼包組織起來(lái)的
? 源碼文件分為三類:命令源碼文件、庫(kù)源碼文件(go語(yǔ)言程序) ? ?測(cè)試源碼文件(輔助源碼文件)
? 命令源碼文件:聲明自己屬于main代碼包、包含無(wú)參數(shù)聲明和結(jié)果聲明的main函數(shù);被安裝后,相應(yīng)的可執(zhí)行文件會(huì)被存放到GOBIN指向的目錄或<當(dāng)前工作區(qū)目錄>/bin下
? ? ? ? ? ? ? 命令源碼文件是Go程序的入口,但不建議把程序都寫在一個(gè)文件中;同一個(gè)代碼包中強(qiáng)烈不建議直接包含多個(gè)命令源碼文件。
? 庫(kù)源碼文件:不具備命令源碼文件的那兩個(gè)特征的源碼文件, 被安裝后,相應(yīng)的歸檔文件會(huì)被存放到<當(dāng)前工作區(qū)目錄>/pkg/<平臺(tái)相關(guān)目錄>下
? 測(cè)試源碼文件:不具備命令源碼文件的那兩個(gè)特征的源碼文件。名稱以_test.go為后綴。其中至少有一個(gè)函數(shù)的名稱以Test或Benchmark為前綴。并且,該函數(shù)接受一個(gè)類型為
? ? ? ? ? ? ? *testing.T或*testing.B的參數(shù)
? ? ? ? ? ? ? func TestFind(t *testing.T){//省略若干條語(yǔ)句} ?func BenchmarkFind(b *testing.B){//省略若干條語(yǔ)句}查看全部 -
ffll
fgdf gsgg
查看全部 -
結(jié)構(gòu)體比函數(shù)類型更加靈活,他可以封裝屬性和操作。
匿名結(jié)構(gòu)體無(wú)方法。
查看全部 -
與其它的數(shù)據(jù)類型不同,我們無(wú)法表示一個(gè)通道類型的值。因此,我們也無(wú)法用字面量來(lái)為通道類型的變量賦值。我們只能通過(guò)調(diào)用內(nèi)建函數(shù)make來(lái)達(dá)到目的
查看全部 -
Map)類型其實(shí)是哈希表的一個(gè)實(shí)現(xiàn)。字典用于存儲(chǔ)鍵-元素對(duì)
查看全部 -
被“切下”的部分不包含元素上界索引指向的元素
也就是左開右閉
查看全部 -
切片與數(shù)組的類型字面量的唯一不同是不包含代表其長(zhǎng)度的信息
查看全部
舉報(bào)