0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Go開發(fā)團隊正式宣布推出Go 1.11版本

DPVg_AI_era ? 來源:未知 ? 作者:李倩 ? 2018-08-27 09:03 ? 次閱讀

Go開發(fā)團隊正式宣布推出Go 1.11版本。新版本在工具鏈、運行時和庫等方面有很多變化和改進,特別是增加了模塊支持和WebAssembly支持兩個新特性。

今天,Go開發(fā)團隊宣布推出Go 1.11正式版。

下載地址:https://golang.org/dl

這距離Go 1.10的發(fā)布已經(jīng)過去六個月。

新版本在工具鏈、運行時和庫等方面有很多變化和改進,兼容性方面也依然會兼容舊版本。此外,新版本增加了兩個最激動人心的新特性:對模塊(modules)和WebAssembly的支持。

模塊、軟件包版本控制和依賴關(guān)系管理

Go 1.11版本增加了對“模塊”(modules)這個新概念的初步支持,這是GOPATH的替代方案,集成了對版本控制和軟件包分發(fā)的支持。

使用modules,開發(fā)人員將不再局限于在GOPATH中工作,版本依賴性信息是顯式而且輕量級的,并且構(gòu)建項更具可靠性和可重復性。

模塊支持功能目前仍處于實驗性階段,根據(jù)Go 1.11用戶的反饋,細節(jié)可能會發(fā)生變化,Go開發(fā)團隊也在計劃增加更多工具。模塊支持可能仍有一些可能影響使用的問題,因此請充分利用問題跟蹤器進行反饋或查閱解決方案。

WebAssembly

Go 1.11還為WebAssembly(js/wasm)添加了一個實驗端口。這允許程序員將Go程序編譯為與四種主流Web瀏覽器兼容的二進制格式。

目前,Go程序編譯為一個WebAssembly模塊,該模塊包括Go runtime,用于goroutine scheduling,garbage collection,maps等。因此,其大小至少約為2 MB,或壓縮為500 KB。Go程序可以使用新的實驗性syscall/js包調(diào)用JavaScript。二進制大小和與其他語言的互操作還不是優(yōu)先級的,但可能在將來的版本中解決。

由于添加了新的GOOS值“js”和GOARCH值“wasm”,Go工具現(xiàn)在將忽略名為* _js.go或* _wasm.go的Go文件,除非使用了那些GOOS/GOARCH值。如果你的現(xiàn)有文件名與這些模式一致,則需要重命名它們。

你可以在webassembly.org上閱讀有關(guān)WebAssembly(縮寫為“Wasm”)的更多信息,并查看這個Wiki頁面,了解如何開始使用Wasm with Go。

其他工具

導入路徑限制

由于 Go 模塊支持在命令行操作中為符號@指定了特殊含義,因此該Go命令現(xiàn)在不允許使用包含@符號的導入路徑。goget從未允許這種導入路徑,因此該限制只會影響用戶通過其他方式構(gòu)建自定義 GOPATH 樹。

Package 加載

新的軟件包golang.org/x/tools/go/packages提供了一個簡單的API來定位和加載Go源代碼包。雖然它還不是標準庫的一部分,但對于許多任務,它有效地替代了go/build包,后者的API無法完全支持模塊。這個AIP支持構(gòu)建分析工具,這些工具與Bazel和Buck等替代構(gòu)建系統(tǒng)同樣有效。

構(gòu)建緩存要求

Go 1.11 將是支持設置環(huán)境變量GOCACHE=off以禁用構(gòu)建緩存的最后一個版本。從 Go 1.12 開始,將需要構(gòu)建緩存,作為消除$GOPATH/pkg的步驟。

編譯器工具鏈

默認情況下,現(xiàn)在更多函數(shù)可以進行內(nèi)聯(lián),包括調(diào)用panic的函數(shù)。編譯器工具鏈現(xiàn)在支持行指令中的列信息。引入了新的包導出數(shù)據(jù)格式。

匯編

匯編程序amd64現(xiàn)在接受 AVX512 指令。

調(diào)試

編譯器現(xiàn)在可以為優(yōu)化的二進制文件生成更精確的調(diào)試信息,包括可變位置信息、行號和斷點位置。這將使調(diào)試沒有-N -l編譯的二進制文件成為可能。Go 1.11添加了在調(diào)試器中調(diào)用Go函數(shù)的實驗性支持。

測試

從Go 1.10開始,Go test命令在被測試的包上運行Go vet,以便在運行測試之前識別問題。因為vet在運行前用go/type檢查代碼,所以不檢查類型的測試將會失敗。

Vet

go vet命令現(xiàn)在在分析包未進行類型檢查時會報告致命錯誤。一起,類型檢查錯誤只會導致打印警告,并以狀態(tài)1退出vet。

跟蹤

使用新的runtime/trace包的用戶注釋API,用戶可以在執(zhí)行跟蹤中記錄應用程序級別的信息,并創(chuàng)建相關(guān)的goroutines組。go tool trace這個命令在跟蹤視圖和新用戶任務/區(qū)域分析頁面中顯示此信息。

Runtime

runtime現(xiàn)在使用稀疏堆布局,因此不再限制Go堆的大?。ㄒ郧暗南拗剖?12GiB)。這也解決了使用-race編譯的混合Go/C二進制文件或二進制文件中的“address space conflict”故障。

在macOS和iOS上,運行時現(xiàn)在使用libSystem.so,而不是直接調(diào)用內(nèi)核。這應該使Go二進制文件與未來版本的macOS和iOS更加兼容。syscall package仍然可以進行直接的系統(tǒng)調(diào)用。

此外,Go 1.11正式版對核心庫也有更改,不過所有更改都比較小。具體請見Release Notes。

Google 的 Go 工程師AndrewBonventre在博客中特別感謝了Richard Musiol為WebAssembly端口做出的貢獻,以及感謝為這個新版本做出貢獻的所有人,包括編寫代碼,提交錯誤,提供反饋和/或測試測試版和發(fā)布候選版本。如果你在使用中發(fā)現(xiàn)任何問題,請?zhí)峤粏栴}。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 模塊
    +關(guān)注

    關(guān)注

    7

    文章

    2784

    瀏覽量

    49711
  • Go
    Go
    +關(guān)注

    關(guān)注

    0

    文章

    45

    瀏覽量

    12354
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1657

    瀏覽量

    49919

原文標題:入坑搞定Python多種任務,Go 1.11 新版本正式發(fā)布!

文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 0人收藏

    評論

    相關(guān)推薦
    熱點推薦

    一個帶有CYPD3177的自定義COOLDIM_PRG_BOARD,當它翻轉(zhuǎn)時,則沒有POWER_DRILL2GO,為什么?

    我有一個帶有 CYPD3177 的自定義COOLDIM_PRG_BOARD 。 當插入時,它僅從POWER_DRILL2GO電源接收POWER_DRILL2GO信號,并且 USB 電纜處于一個方向
    發(fā)表于 05-26 07:24

    通過XRES引腳POWER_DRILL2GO保持ic復位是否會降低ic的最終輸出?

    我正在使用 CYPAS111A1 PAG1S 設計 65W USB C 型充電器。 我想通過控制器切斷 USB 輸出。 通過 XRES 引腳POWER_DRILL2GO保持 ic 復位是否會降低 ic 的最終輸出? 請予以支持。
    發(fā)表于 05-26 06:44

    如果 PD 合約不匹配,BCR 是否仍會打開 SINK_FET_EN POWER_DRILL2GO路徑?

    BCR 具有 SINK_FET_EN 和 SAFE_PWR_EN 引腳來控制POWER_DRILL2GO消耗路徑。 如果 PD 合約不匹配,BCR 是否仍會打開 SINK_FET_EN POWER_DRILL2GO路徑?或者只打開 SAFE_PWR_EN POWER_DR
    發(fā)表于 05-23 08:01

    從 Java 到 Go:面向?qū)ο蟮木奕伺c云原生的輕騎兵

    Go 語言在 2009 年被 Google 推出,在創(chuàng)建之初便明確提出了“少即是多(Less is more)”的設計原則,強調(diào)“以工程效率為核心,用極簡規(guī)則解決復雜問題”。它與 Java 語言生態(tài)
    的頭像 發(fā)表于 04-25 11:13 ?179次閱讀

    Candera GmbH推出CGI Studio 3.15版本

    近期,Candera GmbH 推出 CGI Studio 3.15,這是 Candera 處于行業(yè)領(lǐng)先地位的人機界面(HMI)開發(fā)軟件的最新版本。此次更新帶來了一系列創(chuàng)新功能,旨在簡化開發(fā)
    的頭像 發(fā)表于 03-24 16:24 ?412次閱讀

    ABViewer 15.2版本現(xiàn)已發(fā)布

    我們的團隊很高興宣布ABViewer 15.2版本現(xiàn)已發(fā)布。新版本對軟件的所有主要功能進行了改進。下面您將找到我們所做更改的詳細列表。 PDF轉(zhuǎn)DWG改進: · 轉(zhuǎn)換質(zhì)量全面提升; ·
    的頭像 發(fā)表于 02-11 11:49 ?412次閱讀

    AMAZINGIC晶焱科技技術(shù)應用:典范轉(zhuǎn)移 EV全生態(tài)系商機 - The CAN SIC Transceiver Is Ready To Go.

    AMAZINGIC晶焱科技技術(shù)應用:典范轉(zhuǎn)移 EV全生態(tài)系商機 - The CAN SIC Transceiver Is Ready To Go.
    的頭像 發(fā)表于 02-05 16:01 ?493次閱讀
    AMAZINGIC晶焱科技技術(shù)應用:典范轉(zhuǎn)移 EV全生態(tài)系商機 - The CAN SIC Transceiver Is Ready To <b class='flag-5'>Go</b>.

    典范轉(zhuǎn)移 EV全生態(tài)系商機 - The CAN SIC Transceiver Is Ready To Go.

    典范轉(zhuǎn)移 EV全生態(tài)系商機 - The CAN SIC Transceiver Is Ready To Go.
    的頭像 發(fā)表于 01-22 17:23 ?522次閱讀
    典范轉(zhuǎn)移 EV全生態(tài)系商機 - The CAN SIC Transceiver Is Ready To <b class='flag-5'>Go</b>.

    OurBMC 24.12版本正式上線

    日前,經(jīng)過社區(qū)開發(fā)者的共同努力,OurBMC 全新升級,24.12版本正式上線。
    的頭像 發(fā)表于 01-07 13:45 ?529次閱讀

    影目科技發(fā)布全球首款同傳翻譯眼鏡INMO GO2

    近日,搭載紫光展銳W517芯片平臺的INMO GO2由影目科技正式推出。作為全球首款專為商務場景設計的智能翻譯眼鏡,INMO GO2 以“快、準、穩(wěn)”三大核心優(yōu)勢,突破傳統(tǒng)翻譯產(chǎn)品局限,為全球商務人士帶來高效、自然、穩(wěn)定的跨語言
    的頭像 發(fā)表于 12-11 10:00 ?1090次閱讀

    馬斯克宣布FSD V13版本將很快發(fā)布

    今年9月份,特斯拉的AI團隊就曾在馬斯克的X平臺上發(fā)帖,表示目標是在10月底發(fā)布FSD V13版本。然而,這一時間點并未如愿實現(xiàn)。到了10月下旬,特斯拉AI團隊再次表示,他們的目標是在感恩節(jié)之前
    的頭像 發(fā)表于 11-26 11:15 ?828次閱讀

    在學習go語言的過程踩過的坑

    作為一個5年的phper,這兩年公司和個人都在順應技術(shù)趨勢,新項目慢慢從php轉(zhuǎn)向了go語言,從2021年到現(xiàn)在,筆者手上也先后開發(fā)了兩個go項目。在學習go語言的過程中也學習并總結(jié)了
    的頭像 發(fā)表于 11-11 09:22 ?414次閱讀

    go語言如何解決并發(fā)問題

    作為一個后端開發(fā),日常工作中接觸最多的兩門語言就是PHP和GO了。無可否認,PHP確實是最好的語言(手動狗頭哈哈),寫起來真的很舒爽,沒有任何心智負擔,字符串和整型壓根就不用區(qū)分,開發(fā)速度真的是比
    的頭像 發(fā)表于 10-23 13:38 ?436次閱讀
    <b class='flag-5'>go</b>語言如何解決并發(fā)問題

    【AWTK最新動態(tài)】AWTK 1.8版本發(fā)布

    AWTK是一套基于C語言開發(fā)的跨平臺GUI框架,目前正式推出1.8版本。本次更新不僅對許多細節(jié)進行了優(yōu)化,還增添了眾多重要特性和文檔資料。此外,還引入了三款創(chuàng)新控件和兩個與AWTK相關(guān)項目。AWTK
    的頭像 發(fā)表于 08-30 12:48 ?775次閱讀
    【AWTK最新動態(tài)】AWTK 1.8<b class='flag-5'>版本</b>發(fā)布

    三十分鐘入門基礎Go Java小子版

    前言 Go語言定義 Go(又稱 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 開發(fā)的一種靜態(tài)、強類型、編譯型語言。Go
    的頭像 發(fā)表于 08-12 14:32 ?946次閱讀
    三十分鐘入門基礎<b class='flag-5'>Go</b> Java小子版