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

Waiho ʻia e hoʻokuʻu ʻōlelo papahana E hele i ka 1.14, ka mea 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 ke code, ka wikiwiki o ka hoʻomohala ʻana a me ka pale hewa. Code papahana mahele ʻia e 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ʻohui ʻia ke code Go i loko o nā mea hoʻokō binary kū hoʻokahi e holo maoli me ka ʻole o ka hoʻohana ʻana i kahi mīkini virtual (profiling, debugging, a me nā subsystem ʻike pilikia runtime i hoʻohui ʻia e like me. nā mea hana holo), hiki iā ʻoe ke hoʻokō i ka hana e 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.

ka papa kuhikuhiE nā mea houi hoʻokomo ʻia i ka hoʻokuʻu ʻana iā Go 1.14:

  • Ua ʻōlelo ʻia ka ʻōnaehana module hou ma ke kauoha "go" no ka hoʻohana maʻamau, hiki ke hoʻohana ʻia ma ka paʻamau, a ʻōlelo ʻia no ka hoʻokele hilinaʻi ma kahi o GOPATH. Hōʻike ka ʻōnaehana module hou i ke kākoʻo hoʻololi hoʻohui ʻia, hiki ke hāʻawi i ka pūʻolo, a hoʻomaikaʻi i ka hoʻokele hilinaʻi. Me nā modula, ʻaʻole pili hou nā mea hoʻomohala i ka hana ʻana i loko o kahi kumulāʻau GOPATH, hiki ke wehewehe i nā hilinaʻi i hoʻololi ʻia, a hana i nā kūkulu hou.
  • Hoʻohui ʻia kākoʻo no ka hoʻokomo ʻana i nā loulou me kahi pūʻulu o nā ʻano hana. Hiki ke loaʻa nā inoa like a me nā pūlima like i nā ʻano hana mai kahi kikowaena i kūkulu ʻia e like me nā ʻano i loko o nā loulou i kēia manawa. Kūlike ʻia nā ʻano hana i hōʻike ʻia ma mua.
  • Ua hoʻomaikaʻi ʻia ka hana o ka ʻōlelo "defer", e like me ka wikiwiki e like me ke kāhea pololei ʻana i kahi hana i hoʻopaneʻe ʻia, e ʻae ana i ka hoʻokō ʻana i ka hana i hoʻopaneʻe ʻia ma ke code koʻikoʻi hana.
  • Hāʻawi ʻia ka preemption asynchronous o nā coroutines (goroutines) - hiki i nā puka lou ʻaʻole i loaʻa nā kelepona hana hiki ke alakaʻi i ka pau ʻana o ka mea hoʻonohonoho a hoʻopaneʻe paha i ka hoʻomaka ʻana o ka ʻohi ʻōpala.
  • Ua hoʻomaikaʻi ʻia ka maikaʻi o ka ʻōnaehana hoʻokaʻawale ʻaoʻao hoʻomanaʻo a ʻoi aku ka liʻiliʻi o nā paio laka i nā hoʻonohonoho me nā waiwai nui GOMAXPROCS. Hoʻemi ʻia ka hopena i ka latency a me ka hoʻonui ʻana i ka throughput ʻoiai e puʻunaue ikaika ana i nā poloka nui o ka hoʻomanaʻo.
  • Ua hoʻopaʻa ʻia ka laka a ua hoʻemi ʻia ka helu o nā hoʻololi pōʻaiapili i ka wā e holo ana i nā timers kūloko i hoʻohana ʻia i ka manawa.After, time.Tick, net.Conn.SetDeadline functions.
  • Ma ke kauoha hele, ua hoʻohana ʻia ka hae "-mod=vendor" ma ka paʻamau inā aia kahi papa kuhikuhi mea kūʻai aku i ke kumu, i manaʻo ʻia no ka hāʻawi ʻana i nā hilinaʻi o waho i hoʻopaʻa ʻia i kahi mea kūʻai aku. Hoʻohui i kahi hae "-mod=mod" ʻokoʻa e hoʻouka i nā modula mai ka cache module ma mua o ka papa kuhikuhi "mea kūʻai". Inā heluhelu wale ʻia ka faila go.mod, ua hoʻonohonoho ʻia ka hae "-mod=readonly" ma ka paʻamau inā ʻaʻohe papa kuhikuhi "mea kūʻai" kiʻekiʻe. Hoʻohui ʻia ka hae "-modfile=file" e kuhikuhi i kahi faila go.mod ʻē aʻe ma kahi o ka mea i loko o ka papa kuhikuhi kumu o ka module.
  • Hoʻohui ʻia ka ʻano hoʻololi kaiapuni GOINSECURE, i ka wā i hoʻonohonoho ʻia, ʻaʻole pono ke kauoha hele i ka hoʻohana ʻana i HTTPS a lele i ka nānā ʻana i ka palapala hōʻoia i ka wā e hoʻouka pololei ana i nā modules.
  • Ua hoʻohui ka mea hōʻuluʻulu i ka hae "-d=checkptr", i hoʻohana ʻia ma ka paʻamau, e nānā i ke code no ka hoʻokō ʻana i nā lula no ka hoʻohana pono ʻana i ka unsafe.Pointer.
  • Hoʻokomo ʻia kahi pūʻolo hou i ka lawe ʻana hash/maphash me nā hana hash non-cryptographic e hana i nā papa hash no nā kaʻina byte a i ʻole nā ​​kaula.
  • Hoʻohui i ke kākoʻo hoʻokolohua no ka 64-bit RISC-V platform ma Linux.
  • Hoʻohui kākoʻo no FreeBSD ma nā ʻōnaehana 64-bit ARM.

Source: opennet.ru

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