首先說個人的結(jié)論:go和Java的發(fā)展各有側(cè)重,go完全取代Java成為下一個企業(yè)級開發(fā)語言還有很長的路要走,但完全是有可能的。理由如下:
創(chuàng)新互聯(lián)建站于2013年開始,先為三河等服務(wù)建站,三河等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為三河企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
Java擁有豐富的開源資源,成熟的產(chǎn)品框架,數(shù)量龐大的程序員隊伍以及活躍的社區(qū)
go最初是google為了解決自己的項目而創(chuàng)立的基于C語言開發(fā)出的語言,雖然有社區(qū)的支持,但目前發(fā)展的時間遠(yuǎn)遠(yuǎn)不如java,需要更多的時間積累 框架不夠成熟和豐富也是go的一大弱勢。
go相比Java的優(yōu)勢: 1.Go語言語法簡單,包含了類C語法。更容易開發(fā)出快速上手的高性能應(yīng)用。 2.Go語言編譯效率高。Go的快速編譯時間是一個主要優(yōu)勢。 3.自由高效。Go天生支持高并發(fā)環(huán)境(這也是google設(shè)計Go的初衷之一),在高并發(fā)環(huán)境中Go擁有著巨大的優(yōu)勢。 4.強大的標(biāo)準(zhǔn)庫。Go的標(biāo)準(zhǔn)庫已經(jīng)非常穩(wěn)定,lib庫也在不斷地擴充和完善中 5.部署方便(基于C語言的特性是的Go語言的二進制文件可以運行于任何一種操作系統(tǒng),天生的跨平臺特性,更優(yōu)于Java)
Go語言作為一個新興的編程語言,因其最初的商業(yè)開源的特性,有Google的加持,加上現(xiàn)在區(qū)塊鏈技術(shù)中Go項目所占比例逐漸增加,因而在后續(xù)區(qū)塊鏈的產(chǎn)業(yè)中,Go語言的比重會逐漸壓過Java。因而Go語言完全有可能在新一輪的科技產(chǎn)業(yè)發(fā)展中成為企業(yè)開發(fā)項目的首選語言
《Go程序設(shè)計語言中文版》百度網(wǎng)盤pdf最新全集下載:
鏈接:
?pwd=0cii 提取碼:0cii
簡介:本書由《C程序設(shè)計語言》的作者Kernighan和谷歌公司Go團隊主管Alan Donovan聯(lián)袂撰寫,是學(xué)習(xí)Go語言程序設(shè)計的指南。本書共13章,主要內(nèi)容包括:Go的基礎(chǔ)知識、基本結(jié)構(gòu)、
基本數(shù)據(jù)類型、復(fù)合數(shù)據(jù)類型、函數(shù)、方法、接口、goroutine、通道、共享變量的并發(fā)性、包、go工具、測試、反射等。
本書適合作為計算機相關(guān)專業(yè)的教材,也可供Go語言愛好者閱讀?
僅為個人閱讀時遇到的困惑的理解
2021.6.16
《GO語言圣經(jīng)》-《GO程序設(shè)計語言》
P3
在命令行中運行 go run main.go 123
會輸出 123
在命令行中分別輸入(注意空格)
(1) go run main.go 123
和
(2) go run main.go 1 2 3
(1)中輸出結(jié)果
第一行是go命令的位置
第二行是for循環(huán)內(nèi)的“一個參數(shù)”的結(jié)果
第三行是for循環(huán)外的最終結(jié)果
(2)中輸出結(jié)果
第二行是for循環(huán)內(nèi)“第一個參數(shù)”的結(jié)果
第三行是for循環(huán)內(nèi)“第一個和第二個參數(shù)”的結(jié)果
以此類推。
(3)如果空格大于一個,仍會以一個空格輸出
這時我才理解到書中所講述的:
也就是以空格分隔代表新的一個參數(shù)。
使用go語言的好處: go語言的設(shè)計是務(wù)實的, go在針對并發(fā)上進行了優(yōu)化, 并且支持大規(guī)模高并發(fā), 又由于單一的碼格式, 相比于其他語言更具有可讀性, 在垃圾回收上比java和Python更有效, 因為他是和程序同時執(zhí)行的.
1. 進程, 線程, 協(xié)程的區(qū)別, 協(xié)程的優(yōu)勢
2. 講一下GMP模型(重點)
3. Go的GC, 混合寫屏障(重點)
4. go的Slice和數(shù)組的區(qū)別, slice的擴容原理(重點)
5. 講一下channel,實現(xiàn)原理(重點)
6. 講一下Go的Map的實現(xiàn)原理, 是否線程安全, 如何實現(xiàn)安全(重點)
7. new 和 make 的區(qū)別
8. 說一下內(nèi)存逃逸
9. 函數(shù)傳指針和傳值有什么區(qū)別
10. goroutine之間的通信方式
11. 測試是怎么做的(單元測試, 壓力測試)
12. 堆和棧的區(qū)別