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