您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“從Python轉(zhuǎn)到Go語言理由有哪些”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
#1 編譯成單一的二進(jìn)制
Golang 是編譯型語言并且 Googe 的開發(fā)者花了很大的功夫在上面。它使用靜態(tài)鏈接實(shí)際上是基于操作系統(tǒng)類型和環(huán)境組合所有的依賴庫文件和模塊到一個(gè)單一的二進(jìn)制文件中,這也意味著如果你想要編譯你的后端應(yīng)用到你的 Linux 操作系統(tǒng)和 X86 架構(gòu)的 CPU 中,你只要下載編譯好的二進(jìn)制應(yīng)用到服務(wù)器,然后可以后端應(yīng)用可以工作了,這是不需要任何的依賴文件的。
#2 靜態(tài)類型系統(tǒng)
對(duì)于大規(guī)模應(yīng)用來說類型系統(tǒng)是非常重要的。Python 是很棒的并且有趣的語言但是有些時(shí)候你會(huì)看到一些不尋常的異常因?yàn)楫?dāng)你嘗試將變量作為一個(gè)整型變量的時(shí)候結(jié)果它是一個(gè)字符串類型.
# Django will crash process because of this def some_view(request): user_id = request.POST.get('id', 0)
Go 在編譯的時(shí)候告訴你這是一個(gè)編譯器錯(cuò)誤,這就是在愚蠢的問題上贏得時(shí)間的地方。
#3 優(yōu)化
令人驚訝的是,在大多數(shù)的應(yīng)用場景中,Go 語言比 Python(版本2或3)更快。Benchmarking Game 中可以看到對(duì)比的結(jié)果,當(dāng)然這是不公平的,這依賴于應(yīng)用類型和用戶用例。
對(duì)于我們的案例,Go 語言由于自己的多線程模塊和 CPU 可伸縮性獲得了較好的性能。無論什么時(shí)候我們需要執(zhí)行一些內(nèi)部的請(qǐng)求,我們可以使用 Goroutine 來分別執(zhí)行,這個(gè)比 Python 中的 Threads 在資源開銷上要少上十多倍。由于這些內(nèi)置的語言特性,我們可以節(jié)省大量的資源(內(nèi)存和 CPU )。
#4 Go 不再需要 Web 框架
對(duì)于編程語言這是一件十分酷的事情。Go 語言的創(chuàng)造者和社區(qū)內(nèi)置了很多原生的被核心語言支持的工具,在大多數(shù)情況下你都不再需要任何第三方類庫。比如它有內(nèi)置的 http、json、html 模板,你甚至可以不用費(fèi)心去 Github 上尋找第三方類庫就可以構(gòu)建十分復(fù)雜的 API 服務(wù)。
當(dāng)然,Go 也有很多類庫和框架用來構(gòu)建 web 項(xiàng)目,但是我會(huì)建議你不使用第三方類庫來構(gòu)建你的 web 項(xiàng)目或者 API 服務(wù),因?yàn)樵诖蠖鄶?shù)情況下使用原生包會(huì)使你的生活更加輕松。
#5 更好的 IDE 支持和調(diào)試
IDE 支持是當(dāng)你嘗試更改編程語言時(shí)最重要的考慮因素之一。友好的 IDE 平均可以節(jié)省你80%的編程時(shí)間。 Go Plugin For JetBrains IDEA ,同樣提供了其他支持,比如 (Webstorm、PHPStorm 等等…)。這個(gè)插件提供了任何你在項(xiàng)目開發(fā)中需要的服務(wù),強(qiáng)大的 JetBrains IDEA ,可以讓你的開發(fā)如虎添翼。
基于我們的代碼統(tǒng)計(jì),在用 Go 語言重寫項(xiàng)目后我們少寫了64%的代碼。
你不需要調(diào)試不存在的代碼。代碼越少,錯(cuò)誤越少!
“從Python轉(zhuǎn)到Go語言理由有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。