E hele i ka hoʻokuʻu ʻana i ka ʻōlelo papahana 1.16

Hōʻike ʻia ka hoʻokuʻu ʻana o ka ʻōlelo hoʻolālā Go 1.16, kahi i hoʻomohala ʻia e Google me ke komo ʻana o ke kaiāulu ma ke ʻano he hopena hybrid e hoʻohui i ka hana kiʻekiʻe o nā ʻōlelo i hōʻuluʻulu ʻia me nā pono o nā ʻōlelo kākau e like me ka maʻalahi o ke kākau ʻana i nā code. , ka wikiwiki o ka hoʻomohala ʻana a me ka pale hewa. Hāʻawi ʻia ke code papahana ma lalo o ka laikini BSD.

Hoʻokumu ʻia ka syntax o Go i nā mea maʻamau o ka ʻōlelo C me kekahi mau hōʻaiʻē mai ka ʻōlelo Python. He pōkole loa ka ʻōlelo, akā maʻalahi ke code e heluhelu a hoʻomaopopo. Hoʻopili ʻia ka code Go i loko o nā faila binary executable kū hoʻokahi e holo maoli me ka ʻole o ka hoʻohana ʻana i kahi mīkini virtual (profiling, debugging modules, a me nā subsystem ʻike pilikia runtime i hoʻohui ʻia e like me nā ʻāpana runtime), e hiki ai ke hana like me nā papahana C.

Hoʻokumu mua ʻia ka papahana me ka maka i ka papahana multi-threaded a me ka hana maikaʻi ma nā ʻōnaehana multi-core, me ka hāʻawi ʻana i nā ala o ka mea hoʻohana no ka hoʻonohonoho ʻana i ka helu like a me ka launa pū ʻana ma waena o nā ʻano hana like. Hāʻawi ka ʻōlelo i ka pale i kūkulu ʻia i nā poloka hoʻomanaʻo i hoʻokaʻawale ʻia a hāʻawi i ka hiki ke hoʻohana i ka ʻohi ʻōpala.

Hoʻokomo ʻia nā hiʻohiʻona hou ma Go 1.16:

  • Hoʻohui i ka pūʻolo hoʻopili, e hāʻawi ana i nā mea hana no ka hoʻokomo ʻana i nā faila a me nā papa kuhikuhi i loko o ka papahana. Hāʻawi ʻia kahi kuhikuhi "//go:embed" hou e kuhikuhi i nā faila e hoʻopili ʻia i ka manawa hōʻuluʻulu. No ka laʻana, ʻo ka wehewehe ʻana i ka "//go:embed test.txt" i loko o ka manaʻo code a laila e haʻi ana i ka mea hoʻololi "var f embed.FS" e alakaʻi i ka hoʻopili ʻana o ka faila test.txt a me ka hiki ke komo ma o ka " f” wehewehe. Ma ke ala like, hiki iā ʻoe ke hoʻokomo i nā faila me nā kumuwaiwai a i ʻole nā ​​​​waiwai pilikino o kekahi ʻano pono no ka hana, no ka laʻana, e kiʻi i ka string variable "s" mai ka version.txt file, hiki iā ʻoe ke kuhikuhi: import _ “embed ” //go:embed version.txt var s kaula paʻi (mau)
  • ʻO ka mea paʻamau, koi ʻia ka ʻōnaehana modula hou me ke kākoʻo hoʻololi hoʻohui ʻia, e pani ana i ka hoʻokele hilinaʻi e pili ana iā GOPATH. Hoʻonohonoho ʻia ka hoʻololi kaiapuni GO111MODULE i ka "on" ma ke ʻano maʻamau a hoʻohana ʻia ke ʻano modules me ka nānā ʻole i ka loaʻa ʻana o kahi faila go.mod i ka papa kuhikuhi hana a makua paha. Ma ke ʻano hou, kūkulu i nā kauoha e like me "go build" a me "go test" mai hoʻololi i nā ʻike o go.mod a me go.sum, a me nā "go install" i nā manaʻo manaʻo ("go install example.com/[pale ʻia ka leka uila]"). No ka hoʻihoʻi ʻana i ka hana kahiko, hoʻololi iā GO111MODULE i "auto". Ua ʻike ʻia ʻo 96% o nā mea hoʻomohala ua hoʻololi i ka ʻōnaehana module hou.
  • Ua hoʻonui ʻia ka loulou. No nā papahana nui, ʻoi aku ka wikiwiki o ka hoʻolālā ʻana i kēia manawa 20-25% a koi ʻia he 5-15% emi ka hoʻomanaʻo.
  • Ua hoʻohui ka mea hōʻuluʻulu i ke kākoʻo no ka hoʻonui ʻana i nā hana me nā wehewehe pōkole o "no" puka lou, nā kumu waiwai a me nā hana 'type switch'.
  • Hoʻohui kākoʻo no nā ʻōnaehana Apple i hoʻolako ʻia me ka chip Apple M1 ARM hou. Hoʻohui ʻia nā awa netbsd/arm64 a me openbsd/mips64 me ke kākoʻo no NetBSD ma 64-bit ARM a me OpenBSD ma nā ʻōnaehana MIPS64. Hoʻohui i ke kākoʻo no cgo a me ke ʻano "-buildmode = pie" i ke awa linux/riscv64.
  • Ua hoʻopau ʻia ke kākoʻo no ke ʻano hoʻohui x87 (GO386=387). Loaʻa ke kākoʻo no nā kaʻina hana ʻole SSE2 ma o ke ʻano polokalamu polokalamu "GO386=softfloat".

Eia hou, hiki iā mākou ke hoʻomaopopo i ka hoʻomaka ʻana o ka hoʻāʻo ʻana i ka hoʻokuʻu beta o ka ʻōlelo Dart 2.12, kahi i hoʻopaʻa ʻia ai ke ʻano palekana no ka hoʻohana ʻana i ka waiwai "Null" (palekana null), e kōkua i ka pale ʻana i nā pōpilikia i hoʻāʻo ʻia e hoʻohana i nā ʻano like ʻole. ʻAʻole i wehewehe ʻia ka waiwai a hoʻonoho iā "Null". Hōʻike ke ʻano ʻaʻole hiki i nā mea hoʻololi ke loaʻa nā waiwai null ke ʻole i hāʻawi ʻia i ka waiwai null. Hoʻopili koʻikoʻi ke ʻano i nā ʻano ʻano like ʻole, e hiki ai i ka mea hoʻopili ke hoʻopili i nā optimizations hou. Nānā ʻia ka hoʻokō ʻano i ka manawa hōʻuluʻulu, no ka laʻana, inā e hoʻāʻo ʻoe e hāʻawi i ka waiwai "Null" i kahi ʻano me kahi ʻano ʻaʻole i hōʻike i ke kūlana i wehewehe ʻole ʻia, e like me "int", e hōʻike ʻia kahi hewa.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka