-
學以致用查看全部
-
gogogogogo查看全部
-
gogogo查看全部
-
-v:列出被編譯的代碼包的名稱 -work: 顯示編譯時創建的臨時工作目錄的路徑,并且不刪除它 -x: 打印編譯過程中所需運行的命令 -n;打印編譯過程中所需的命令,但并不執行 -x:打印編譯過程中所需的命令,并執行他們。查看全部
-
-a:強制編譯相關代碼,不論它們的編譯結果是否已是最新的 -n:打印編譯過程中所需運行的命令,但不真正執行它們 -p n:并行編譯,其中n為并行的數量查看全部
-
Go語言的優勢: 1.腳本化的語法;開發效率高,容易上手 2.靜態類型+編譯型,程序運行速度有保障;靜態類型+編譯型語言相對于動態類型+解釋型語言的效率高 3.原生的支持并發編程;降低開發、維護成本/程序可以更好的執行 Go語言的劣勢: 1.語法糖并沒有Python和Ruby多; 2.目前的程序運行速度還不及C;比C++、java快 3.第三方函數庫暫時不像絕對主流的編程語言那樣多;查看全部
-
gopath可以保存多個工作目錄,用分號分隔查看全部
-
通道(Channel)是Go語言中一種非常獨特的數據結構。它可用于在不同Goroutine之間傳遞類型化的數據,并且是并發安全的。 cc qqqq aaa tttt777查看全部
-
方法的接收者標識符所代表的是該方法當前所屬的那個值的一個副本,而不是該值本身。例如,在上述代碼中,Person類型的Grow方法的接收者標識符person代表的是p的值的一個“拷貝”,而不是p的值。我們在調用Grow方法的時候,Go語言會將p的值復制一份并將其作為此次調用的當前值。正因為如此,Grow方法中的person.Age++語句的執行會使這個副本的Age字段的值變為34,而p的Age字段的值卻依然是33。這就是問題所在。 只要我們把Grow變回指針方法就可以解決這個問題。原因是,這時的person代表的是p的值的指針的副本。指針的副本仍會指向p的值。另外,之所以選擇表達式person.Age成立,是因為如果Go語言發現person是指針并且指向的那個值有Age字段,那么就會把該表達式視為(*person).Age。查看全部
-
3-12 go get 常用標記的使用 -d : 只執行下載動作,而不執行安裝動作 -fix : 在下載代碼包后先執行修正動作,而后再進行編譯和安裝 比如將舊版本的代碼包修正編譯成當前使用的版本 -u : 利用網絡來更新已有的代碼包及其依賴包查看全部
-
3-10 go get 命令簡介 用于從遠程代碼倉庫(如Github、GitLab)上下載并安裝代碼包 接受支持的代碼版本控制系統有:Git、Mercuril(hg)、SVN、Bazaar 指定的代碼包會被下載到$GOPATH中包含的第一個工作區的src目錄中查看全部
-
3-8 go install 命令簡介 用于編譯并安裝代碼包或源代碼文件? (為什么要安裝源碼文件?) 安裝代碼包會在當前工作區的 'pkg/<平臺相關目錄>'下生成'歸檔文件' 安裝命令源碼文件會在當前工作區的'bin'目錄或 $GOBIN 目錄下生成'可執行文件' * 執行該命令且不追加任何參數時,它會試圖把當前目錄作為代碼包并安裝 * 執行該命令且以代碼包的導入路徑作為參數時,該代碼包及其依賴會被安裝 * 執行該命令且以命令源碼文件及相關庫源碼文件作為參數時,只有這些文件會被編譯并安裝查看全部
-
用于編譯'源碼文件'或'代碼包' 編譯非命令源碼文件不會產生任何結果文件 編譯命令源碼文件會在該命令的執行目錄中生成一個可執行文件 執行該命令且不追加任何參數時,它會試圖把當前目錄作為代碼包編譯 執行該命令且以代碼包的導入路徑作為參數時,該代碼包及其依賴會被編譯 加入-a標記后所有涉及到的代碼包都會被重新編譯 不加入-a標記,則只會編譯歸檔文件不是最新的代碼包 執行該命令且以若干源碼文件作為參數時,只有這些文件會被編譯查看全部
-
概念性的東西查看全部
-
若我們想要初始化一個長度為5且元素類型為int的通道值,則需要這樣寫: make(chan int, 5) 接收操作符<-向通道值發送數據 ch1 <- "value1" 直接把接收到的字符串賦給一個變量 value := <- ch1 value, ok := <- ch1 關閉通道值 close(ch1) 最后,與切片和字典類型相同,通道類型屬于引用類型。它的零值即為nil。查看全部
舉報
0/150
提交
取消