Mwepụta asụsụ mmemme Go 1.16

E weputara ntọhapụ nke asụsụ mmemme Go 1.16, nke Google na-emepụta ya na ntinye aka nke obodo dị ka ngwakọ ngwakọ nke na-ejikọta arụmọrụ dị elu nke asụsụ achịkọtara yana uru dị n'asụsụ scripting dị ka mfe nke koodu ederede. , ọsọ nke mmepe na nchedo njehie. A na-ekesa koodu ọrụ n'okpuru ikikere BSD.

Nkwekọrịta nke Go gbadoro ụkwụ na ihe ndị a ma ama nke asụsụ C nwere ụfọdụ mbiri sitere na asụsụ Python. Asụsụ ahụ dị nkenke, mana koodu ahụ dị mfe ịgụ na nghọta. A na-achịkọta koodu Go n'ime faịlụ ọnụọgụ abụọ nwere ike ịme naanị nke na-agba ọsọ na obodo na-ejighi igwe mebere (profiling, modul debugging, na usoro nchọpụta nsogbu oge ndị ọzọ na-ejikọta ya dị ka ihe ndị na-agba ọsọ ọsọ), nke na-enye ohere maka ịrụ ọrụ dị ka mmemme C.

A na-ebu ụzọ mepụta ọrụ ahụ site na anya na mmemme multi-threaded na ịrụ ọrụ nke ọma na sistemụ ọtụtụ isi, gụnyere ịnye ọkwa onye ọrụ maka ịhazi mgbakọ n'otu oge na mmekọrịta n'etiti ụzọ ndị a na-emekọ ihe. Asụsụ a na-enyekwa nchebe arụnyere n'ime ya pụọ ​​​​na ngọngọ ebe nchekwa ekenyela oke ma na-enye ike iji ihe mkpofu.

Isi atụmatụ ọhụrụ ewebata na Go 1.16:

  • Agbakwunyere ngwungwu agbakwunyere, nke na-enye ngwaọrụ maka itinye faịlụ na akwụkwọ ndekọ aha aka ike n'ime mmemme ahụ. Enyere ntuziaka "//go: embed" ọhụrụ iji kọwapụta faịlụ ndị a ga-etinye n'oge a na-achịkọta. Dịka ọmụmaatụ, ịkọwapụta "//go: embed test.txt" na nkọwa koodu wee kwupụta mgbanwe "var f embed.FS" ga-eduga na ntinye nke faịlụ test.txt na ike ịnweta ya site na "" f” nkọwa. N'otu aka ahụ, ị ​​nwere ike itinye faịlụ na akụrụngwa ma ọ bụ ụkpụrụ nke otu ụdị dị mkpa maka ọrụ, dịka ọmụmaatụ, iji nweta eriri variable "s" site na faịlụ version.txt, ị nwere ike ịkọwa: mbubata _ "embed ” //go: embed version.txt var s string print (s)
  • Site na ndabara, sistemụ modul ọhụrụ nwere nkwado nsụgharị agbakwunyere ugbu a, na-edochi njikwa ndabere dabere na GOPATH. A na-edozi mgbanwe gburugburu GO111MODULE ka ọ bụrụ "na" site na ndabara, a na-eji ụdị modul n'agbanyeghị ọnụnọ nke faịlụ go.mod na ndekọ ọrụ ma ọ bụ nne na nna. N'ụdị ọhụrụ a, wuo iwu dị ka "go wuo" na "go test" anaghị agbanwe ọdịnaya nke go.mod na go.sum, yana arụmụka ụdị usoro iwu "go install" ("go install example.com/"[email protected]"). Iji weghachi omume ochie, gbanwee GO111MODULE ka ọ bụrụ "akpaaka". Achọpụtara na 96% nke ndị mmepe agbanweelarị na sistemụ modul ọhụrụ.
  • Ebulila ihe njikọ ahụ. Maka nnukwu ọrụ, nhazi ugbu a bụ 20-25% ngwa ngwa ma chọọ 5-15% obere ebe nchekwa.
  • Onye nchịkọta agbakwunyere nkwado maka mgbasawanye inline nke ọrụ yana nkọwa nke "maka" loops, ụkpụrụ usoro na 'ụdị mgbanwe' na-ewu.
  • Nkwado agbakwunyere maka sistemụ Apple nwere mgbawa Apple M1 ARM ọhụrụ. Agbakwunyere netbsd/arm64 na openbsd/mips64 ọdụ ụgbọ mmiri nwere nkwado maka NetBSD na 64-bit ARM na OpenBSD na sistemụ MIPS64. Nkwado agbakwunyere maka cgo na ọnọdụ “-buildmode=pie” na ọdụ ụgbọ mmiri Linux/riscv64.
  • Akwụsịla nkwado maka ụdị nchịkọta x87 (GO386=387). Nkwado maka ndị na-arụ ọrụ na-enweghị ntụziaka SSE2 dị ugbu a site na ụdị sọftụwia "GO386=softfloat".

Na mgbakwunye, anyị nwere ike mara mmalite nke ịnwale ntọhapụ beta nke asụsụ Dart 2.12, bụ nke edozila ọnọdụ nchekwa maka iji uru "Null" (nchekwa efu), nke ga-enyere aka zere mkpọka kpatara site na mgbalị iji mgbanwe ndị ha na-eme. Akọwapụtaghị uru ma tọọ ka ọ bụrụ “efu”. Ụdị ahụ na-egosi na mgbanwe ndị enweghị ike inwe ụkpụrụ efu ma ọ bụrụ na e kenyere ha uru efu efu. Ụdị ahụ na-asọpụrụ ụdị mgbanwe dị iche iche, nke na-enye ohere ka onye nchịkọta ahụ tinye nkwalite ndị ọzọ. A na-enyocha nnabata ụdị n'oge a na-achịkọta, dịka ọmụmaatụ, ọ bụrụ na ị nwaa ịnye uru "Null" na mgbanwe nwere ụdị nke na-egosighi ọnọdụ enweghị nkọwa, dị ka "int", njehie ga-egosipụta.

isi: opennet.ru

Tinye a comment