ื’ื™ื™ 1.24

ื ื ื™ื™ึทืข ืžืขืœื“ื•ื ื’ ืคื•ืŸ ื“ื™ Go ืฉืคึผืจืึทืš, ื•ื•ืขืจืกื™ืข 1.24, ืงื•ืžื˜ ื–ืขืงืก ื—ื“ืฉื™ื ื ืึธืš ื’ื™ื™ 1.23. ืจื•ื‘ึฟ ืคื•ืŸ ื“ื™ ืขื ื“ืขืจื•ื ื’ืขืŸ ื–ืขื ืขืŸ ืื™ืŸ ื“ื™ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ ืžื›ืฉื™ืจื™ื, ืจื•ื ื˜ื™ืžืข ืื•ืŸ ืœื™ื™ื‘ืจืขืจื™ื–. ื•ื•ื™ ืฉื˜ืขื ื“ื™ืง, ื“ื™ ืžืขืœื“ื•ื ื’ ื’ื™ื˜ ืฆื•ื–ืึธื’ ืคื•ืŸ ืงืึทืžืคึผืึทื˜ืึทื‘ื™ืœืึทื˜ื™ Go 1. ื“ื™ ืฉืคึผืจืึทืš ื“ื™ื–ื™ื™ื ืขืจื– ื“ืขืจื•ื•ืึทืจื˜ืŸ ืึทื– ื›ึผืžืขื˜ ืึทืœืข Go ืžื’ื™ืœื” ื•ื•ืขื˜ ืคืึธืจื–ืขืฆืŸ ืฆื• ืฆื•ื ื•ื™ืคื ืขืžืขืŸ ืื•ืŸ ืœื•ื™ืคืŸ ื•ื•ื™ ืคืจื™ืขืจ.

ืขื ื“ืขืจื•ื ื’ืขืŸ ืื™ืŸ ืฉืคึผืจืึทืš

ื’ื™ื™ืŸ 1.24 ืื™ืฆื˜ ื’ืึธืจ ืฉื˜ื™ืฆื˜ ื“ื–ืฉืึทื ืขืจื™ืง ื˜ื™ืคึผ ื™ื™ืœื™ืึทืกื™ื–: ืึท ื˜ื™ืคึผ ืึทืœื™ืึทืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ืคึผืึทืจืึทืžืขื˜ืขืจื™ื™ื–ื“ ื•ื•ื™ ืึท ื“ืขืจืงืœืขืจื˜ ื˜ื™ืคึผ. ืคืจื˜ื™ื ืื™ืŸ ืฉืคึผืจืึทืš ืกืคึผืขืกืึทืคืึทืงื™ื™ืฉืึทื ื–. ืคึฟืึทืจ ืื™ืฆื˜, ื“ืขื ืฉื˜ืจื™ืš ืงืขื ืขืŸ ื–ื™ื™ืŸ ืคืึทืจืงืจื™ืคึผืœื˜ ื“ื•ืจืš ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ GOEXPERIMENT=noaliastypeparams; ืึธื‘ืขืจ, ื“ื™ aliastypeparams ืึธืคึผืฆื™ืข ื•ื•ืขื˜ ื–ื™ื™ืŸ ืึทื•ื•ืขืงื’ืขื ื•ืžืขืŸ ืื™ืŸ Go 1.25.

ืžื›ืฉื™ืจื™ื

ื’ื™ื™ืŸ ื‘ืึทืคึฟืขืœ

ื’ื™ื™ืŸ ืžืึทื“ื–ืฉื•ืœื– ืงืขื ืขืŸ ืื™ืฆื˜ ืฉืคึผื•ืจ ืขืงืกืขืงื•ื˜ืึทื‘ืœืข ื“ื™ืคึผืขื ื“ืึทื ืกื™ื– ื ื™ืฆืŸ ื“ื™ ื’ืขืฆื™ื™ึทื’ ื“ื™ืจืขืงื˜ื™ื•ื• ืื™ืŸ go.mod. ื“ืึธืก ืจื™ืžื•ื•ื•ื– ื“ื™ ื ื•ื™ื˜ ืคึฟืึทืจ ื“ื™ ืคืจื™ืขืจื“ื™ืงืข ื•ื•ืึธืจืงืึทืจืึธื•ื ื“ ืฆื• ืœื™ื™ื’ืŸ ืžื›ืฉื™ืจื™ื ื•ื•ื™ ืœื™ื™ื“ื™ืง ื™ืžืคึผืึธืจืฅ ืื™ืŸ ืึท ื˜ืขืงืข ื˜ื™ืคึผื™ืงืœื™ ื’ืขืจื•ืคืŸ "tools.go". ื“ื™ ื’ื™ื™ืŸ ื’ืขืฆื™ื™ึทื’ ื‘ืึทืคึฟืขืœ ืงืขื ืขืŸ ืื™ืฆื˜ ืœื•ื™ืคืŸ ื“ื™ ืžื›ืฉื™ืจื™ื ืื™ืŸ ืึทื“ื™ืฉืึทืŸ ืฆื• ื“ื™ ืžื›ืฉื™ืจื™ื ื•ื•ืึธืก ืงื•ืžืขืŸ ืžื™ื˜ Go. ืžืขืจ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขืคึฟื•ื ืขืŸ ืื™ืŸ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ.

ื“ื™ ื ื™ื™ึทืข -ื’ืขืฆื™ื™ึทื’ ืคืึธืŸ ืคึฟืึทืจ ื’ื™ื™ืŸ ื‘ืึทืงื•ืžืขืŸ ืžืื›ื˜ ื“ื™ื™ืจืขืงื˜ื™ื•ื•ื– ืคื•ืŸ ืžื›ืฉื™ืจื™ื ืฆื• ื–ื™ื™ืŸ ืžื•ืกื™ืฃ ืฆื• ื“ื™ ืงืจืึทื ื˜ ืžืึธื“ื•ืœืข ืคึฟืึทืจ ื“ื™ ืกืคึผืขืกื™ืคื™ืขื“ ืคึผืึทืงืึทื“ื–ืฉืึทื– ืื™ืŸ ืึทื“ื™ืฉืึทืŸ ืฆื• ืึทื“ื™ื ื’ ืคืืจืœืื ื’ื˜ ื“ื™ื™ืจืขืงื˜ื™ื•ื•ื–.

ื ื™ื™ึท ืžืขื˜ืึท-ืžื•ืกื˜ืขืจ ื’ืขืฆื™ื™ึทื’ ืจืขืคืขืจืก ืฆื• ืึทืœืข ืžื›ืฉื™ืจื™ื ืื™ืŸ ื“ืขื ืงืจืึทื ื˜ ืžืึธื“ื•ืœืข. ื“ืขื ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืฆื• ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ ื–ื™ื™ ืึทืœืข ื“ื•ืจืš ื“ื™ ื’ื™ื™ืŸ ื‘ืึทืงื•ืžืขืŸ ื’ืขืฆื™ื™ึทื’, ืึธื“ืขืจ ืฆื• ื™ื ืกื˜ืึทืœื™ืจืŸ ื–ื™ื™ ืื™ืŸ ื“ื™ื™ืŸ GOBIN ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ื“ื•ืจืš ื“ื™ ื’ื™ื™ืŸ ื™ื ืกื˜ืึทืœื™ืจืŸ ื’ืขืฆื™ื™ึทื’.

ืขืงืกืขืงื•ื˜ืึทื‘ืœืขืก ื‘ืืฉืืคืŸ ื“ื•ืจืš ื’ื™ื™ืŸ ืœื•ื™ืคืŸ ืื•ืŸ ื“ื™ ื ื™ื™ึท ื’ื™ื™ืŸ ื’ืขืฆื™ื™ึทื’ ืึธืคึผืคื™ืจื•ื ื’ ื–ืขื ืขืŸ ืื™ืฆื˜ ืงืึทืฉื˜ ืื™ืŸ ื“ื™ ื’ื™ื™ืŸ ื‘ื•ื™ืขืŸ ืงืึทืฉ. ื“ืึธืก ืžืื›ื˜ ืจื™ืคึผื™ื˜ื™ื“ ืœืึธื ื˜ืฉื™ื– ืžืขื’ืœืขืš ืจืขื›ื˜ ืฆื• ื“ืขืจ ื’ืขื•ื•ืืงืกืŸ ืงืึทืฉ. # ืงืกื ื•ืžืงืก.

ื“ื™ ื’ื™ื™ืŸ ื‘ื•ื™ืขืŸ ืื•ืŸ ื’ื™ื™ืŸ ื™ื ืกื˜ืึทืœื™ืจืŸ ืงืึทืžืึทื ื“ื– ืื™ืฆื˜ ืึธื ื ืขืžืขืŸ ื“ื™ -json ืคืึธืŸ, ื•ื•ืึธืก ืจื™ืคึผืึธืจืฅ ื‘ื•ื™ืขืŸ ืคึผืจืึธื“ื•ืงืฆื™ืข ืื•ืŸ ืขืจืจืึธืจืก ื•ื•ื™ ืกื˜ืจืึทืงื˜ืฉืขืจื“ JSON ืจืขื–ื•ืœื˜ืึทื˜ ืื•ื™ืฃ ื ืึธืจืžืึทืœ ืคึผืจืึธื“ื•ืงืฆื™ืข. ืคึฟืึธืจืžืึทื˜ ื“ืขื˜ืึทื™ืœืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื–ืขืŸ ืื™ืŸ go help buildjson.

ื“ืขืจืฆื•, ื’ื™ื™ืŸ ืคึผืจื•ื‘ื™ืจืŸ -json ืื™ืฆื˜ ืจื™ืคึผืึธืจืฅ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ ืื•ืŸ ื‘ื•ื™ืขืŸ ืขืจืจืึธืจืก ืื™ืŸ JSON, ื’ืขืžื™ืฉื˜ ืžื™ื˜ ื“ื™ ืคึผืจื•ื‘ื™ืจืŸ ืจืขื–ื•ืœื˜ืึทื˜ JSON. ื–ื™ื™ ืงืขื ืขืŸ ื–ื™ื™ืŸ ืื•ื ื˜ืขืจืฉื™ื™ื“ืŸ ื“ื•ืจืš ื“ื™ ื ื™ื™ึทืข ืึทืงืฉืึทืŸ ื˜ื™ื™ืคึผืก, ืึธื‘ืขืจ ืื•ื™ื‘ ื–ื™ื™ ืคืึทืจืฉืึทืคืŸ ืคึผืจืึธื‘ืœืขืžืก ืื™ืŸ ื“ื™ ืคึผืจืึธื‘ืข ื™ื ื˜ืึทื’ืจื™ื™ืฉืึทืŸ ืกื™ืกื˜ืขื, ืื™ืจ ืงืขื ืขืŸ ืคืึทืœืŸ ืฆื•ืจื™ืง ืฆื• ื“ืขืจ ื˜ืขืงืกื˜ ืจืขื–ื•ืœื˜ืึทื˜ ืคื•ืŸ ื“ื™ ื‘ื•ื™ืขืŸ ื“ื•ืจืš GODEBUG ืกืขื˜ืึทืคึผ gotestjsonbuildtext=1.

ื“ื™ ื ื™ื™ึทืข GOAUTH ืกื•ื•ื™ื•ื•ืข ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ื’ื™ื˜ ืึท ืคืœืขืงืกืึทื‘ืึทืœ ื•ื•ืขื’ ืฆื• ื“ืขืจืœื•ื™ื‘ืŸ ืคึผืจื™ื•ื•ืึทื˜ ืžืึธื“ื•ืœืข ืคึผื•ืœื–. ืื™ืจ ืงืขื ื˜ ื–ืขืŸ ื“ืขื˜ืึทื™ืœืก ืื™ืŸ Go help goauth.

ื“ื™ ื’ื™ื™ืŸ ื‘ื•ื™ืขืŸ ื‘ืึทืคึฟืขืœ ืื™ื– ืื™ืฆื˜ ืื™ื ืกื˜ืึทืœื™ืจืŸ ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ื”ื•ื™ืคึผื˜ ืžืึธื“ื•ืœืข ืื™ืŸ ื“ื™ ืงืึทืžืคึผื™ื™ืœื“ ื‘ื™ื™ื ืขืจื™, ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ืึท ืงื•ื•ื™ื˜ืœ ืื•ืŸ / ืึธื“ืขืจ ืึท ื•ื•ืขืจืกื™ืข ืงืึธื ื˜ืจืึธืœ ื™ื‘ืขืจื’ืขื‘ืŸ. ื“ื™ + ื’ืจืึธื‘ ืกืึทืคื™ืงืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ืžื•ืกื™ืฃ ืื•ื™ื‘ ืขืก ื–ืขื ืขืŸ ืึทื ืงืึทืžื˜ืึทื“ ืขื ื“ืขืจื•ื ื’ืขืŸ. ื“ื™ -buildvcs=false ืคืึธืŸ ืงืขื ืขืŸ ื•ื•ืขืจืŸ ื’ืขื ื•ืฆื˜ ืฆื• ืคืึทืจืœืึธื–ืŸ ื•ื•ืขืจืกื™ืข ืงืึธื ื˜ืจืึธืœ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ื‘ื™ื™ื ืขืจื™.

New GODEBUG ืกืขื˜ืึทืคึผ toolchaintrace=1 ืงืขื ืขืŸ ืื™ืฆื˜ ื•ื•ืขืจืŸ ื’ืขื ื•ืฆื˜ ืฆื• ืฉืคึผื•ืจ ื“ื™ Toolchain ืกืขืœืขืงืฆื™ืข ืคึผืจืึธืฆืขืก ืื™ืŸ ื“ื™ ื’ื™ื™ืŸ ื‘ืึทืคึฟืขืœ.

ืงื’ืึธ

Cgo ืฉื˜ื™ืฆื˜ ื ื™ื™ึทืข ืึทื ืึทื˜ื™ื™ืฉืึทื ื– ืคึฟืึทืจ C ืคืึทื ื’ืงืฉืึทื ื– ืฆื• ืคึฟืึทืจื‘ืขืกืขืจืŸ ืจื•ื ื˜ื™ืžืข ืคืึธืจืฉื˜ืขืœื•ื ื’. #cgo noescape cFunctionName ื“ืขืจืฆื™ื™ืœื˜ ื“ื™ ืงืึทืžืคึผื™ื™ืœืขืจ ืึทื– ื“ืขืจ ื–ื›ึผืจื•ืŸ ื“ื•ืจื›ื’ืขื’ืื ื’ืขืŸ ืฆื• ื“ื™ C ืคึฟื•ื ืงืฆื™ืข cFunctionName ืื™ื– ื ื™ืฉื˜ ืื ื˜ืจื•ื ืขืŸ. #cgo nocallback cFunctionName ื“ืขืจืฆื™ื™ืœื˜ ื“ื™ ืงืึทืžืคึผื™ื™ืœืขืจ ืึทื– ื“ื™ C ืคึฟื•ื ืงืฆื™ืข cFunctionName ืงืขืŸ ื ื™ืฉื˜ ืฆื•ืจื™ืงืจื•ืคืŸ ืงื™ื™ืŸ Go ืคืึทื ื’ืงืฉืึทื ื–. ืžืขืจ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขืคึฟื•ื ืขืŸ ืื™ืŸ cgo ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ.

Cgo ื•ื•ื™ืœ ืื™ืฆื˜ ืฆื•ื ื•ื™ืคื ืขืžืขืŸ ืงืึทืœืœืก ืฆื• ืึท C ืคื•ื ืงืฆื™ืข ื•ื•ืึธืก ื”ืื˜ ืงื™ื™ืคืœ ื™ื ืงืึทืžืคึผืึทื˜ืึทื‘ืึทืœ ื“ืขืงืœืขืจื™ื™ืฉืึทื ื–. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืื•ื™ื‘ f ืื™ื– ื“ืขืจืงืœืขืจื˜ ื•ื•ื™ ืคึผืึธืกืœ ืค (ื™ื ื˜) ืื•ืŸ ืคึผืึธืกืœ ืค (ื˜ืึธืคึผืœ), cgo ื•ื•ืขื˜ ื‘ืึทืจื™ื›ื˜ ืึท ื˜ืขื•ืช ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ืขืคืฉืขืจ ื“ื–ืฉืขื ืขืจื™ื™ื˜ื™ื ื’ ืึท ืคืึทืจืงืจื™ืคึผืœื˜ ืคืึทืš ืกื™ืงื•ื•ืึทื ืก f (0). ื ื™ื• ืื™ืŸ ื“ืขื ืžืขืœื“ื•ื ื’ ืื™ื– ื™ืžืคึผืจื•ื•ื•ื“ ื“ื™ื˜ืขืงืฉืึทืŸ ืคื•ืŸ ื“ืขื ื˜ืขื•ืช ืฆื•ืฉื˜ืึทื ื“ ื•ื•ืขืŸ ื™ื ืงืึทืžืคึผืึทื˜ืึทื‘ืึทืœ ื“ืขืงืœืขืจื™ื™ืฉืึทื ื– ื“ืขืจืฉื™ื™ึทื ืขืŸ ืื™ืŸ ืคืึทืจืฉื™ื“ืขื ืข ื˜ืขืงืขืก. # ืงืกื ื•ืžืงืก.

Objdump

ื“ื™ ืึธื‘ื“ื–ืฉื“ืึทืžืคึผ ื’ืขืฆื™ื™ึทื’ ืื™ืฆื˜ ืฉื˜ื™ืฆื˜ ื“ื™ืกืึทืกืกืขืžื‘ืœื™ ืื•ื™ืฃ 64-ื‘ื™ืกืœ LoongArch (GOARCH=loong64), RISC-V (GOARCH=riscv64) ืื•ืŸ S390X (GOARCH=s390x).

ืคืขื˜

ื“ื™ ื ื™ื™ึทืข ื˜ืขืกื˜ ืึทื ืึทืœื™ื–ืขืจ ืจื™ืคึผืึธืจืฅ ืคึผืจืึธืกื˜ ืขืจืจืึธืจืก ืื™ืŸ ืคึผืจืึธื‘ืข, ืคื•ื–ืขืจ, ื‘ืขื ื˜ืฉืžืึทืจืง ืื•ืŸ ื‘ื™ื™ืฉืคื™ืœืŸ ื“ืขืงืœืึทืจืึทืฆื™ืขืก ืื™ืŸ ืคึผืจืึธื‘ืข ืกื•ื•ื™ืฅ, ืึทื–ืึท ื•ื•ื™ ืžืึทืœืคืึธืจืžืขื“ ื ืขืžืขืŸ, ืคืึทืจืงืจื™ืคึผืœื˜ ืกื™ื’ื ืึทื˜ืฉืขืจื– ืึธื“ืขืจ ื‘ื™ื™ืฉืคื™ืœืŸ ื•ื•ืึธืก ื“ืึธืงื•ืžืขื ื˜ ื ื™ื˜-ืขื’ื–ื™ืกื˜ืึทื ื˜ ืื™ื“ืขื ื˜ื™ืคื™ืฆื™ืจืŸ. ืขื˜ืœืขื›ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ืขืจืจืึธืจืก ืงืขืŸ ืคืึทืจืฉืึทืคืŸ ื˜ืขืกืฅ ืฆื• ืคืึทืจืœืึธื–ืŸ.

ื“ืขืจ ื™ื’ื–ื™ืกื˜ื™ื ื’ ืคึผืจื™ื ื˜ืฃ ืคึผืึทืจืกืขืจ ืื™ืฆื˜ ืจื™ืคึผืึธืจืฅ ื“ื™ืึทื’ื ืึธืกื˜ื™ืงืก ืคึฟืึทืจ ืงืึทืœืœืก ืคื•ืŸ ื“ื™ ืคืึธืจืขื fmt.Printf(s), ื•ื•ื• s ืื™ื– ืึท ื ื™ื˜-ืงืึธื ืกื˜ืึทื ื˜ ืคึฟืึธืจืžืึทื˜ ืฉื˜ืจื™ืงืœ ืžื™ื˜ ืงื™ื™ืŸ ืื ื“ืขืจืข ืึทืจื’ื•ืžืขื ื˜ืŸ. ืึทื–ืึท ืงืึทืœืœืก ื–ืขื ืขืŸ ื›ึผืžืขื˜ ืฉื˜ืขื ื“ื™ืง ืึท ื˜ืขื•ืช, ื•ื•ื™ื™ึทืœ ื“ื™ ื•ื•ืขืจื˜ ืคื•ืŸ s ืงืขืŸ ืึทื ื˜ื”ืึทืœื˜ืŸ ื“ืขื % ื›ืึทืจืึทืงื˜ืขืจ; ื ื™ืฆืŸ fmt.Print ืึทื ืฉื˜ืึธื˜. 60529. ื“ืขืจ ื˜ืฉืขืง ื˜ืขื ื“ื– ืฆื• ื’ืขืคึฟื™ื ืขืŸ ื–ืื›ืŸ ืื™ืŸ ื™ื’ื–ื™ืกื˜ื™ื ื’ ืงืึธื“, ืื•ืŸ ืื™ื– ื“ืขืจื™ื‘ืขืจ ื‘ืœื•ื™ื– ื’ืขื•ื•ืขื ื“ื˜ ื•ื•ืขืŸ ื“ื™ ืฉืคึผืจืึทืš ื•ื•ืขืจืกื™ืข (ื•ื•ื™ ืกืคึผืขืกื™ืคื™ืขื“ ื“ื•ืจืš ื“ื™ ื’ื™ื™ืŸ ื“ื™ืจืขืงื˜ื™ื•ื• ืคื•ืŸ ื“ื™ go.mod ื˜ืขืงืข ืึธื“ืขืจ ื“ื™ `//go:build` ื‘ืึทืžืขืจืงื•ื ื’ืขืŸ) ืื™ื– ื‘ื™ื™ึท ืžื™ื ื“ืกื˜ืขืจ Go 1.24, ืฆื• ื•ื™ืกืžื™ื™ื“ืŸ ืงืึธื–ื™ื ื’ ืœืึทื ื’ ื™ื ื˜ืึทื’ืจื™ื™ืฉืึทืŸ ื‘ืจื™ื™ืงืก ื•ื•ืขืŸ ืึทืคึผื’ืจื™ื™ื“ื™ื ื’ ืฆื• ื“ื™ Go 1.24 Toolchain.

ื“ื™ ื™ื’ื–ื™ืกื˜ื™ื ื’ buildtag ืึทื ืึทืœื™ื–ืขืจ ืื™ืฆื˜ ืจื™ืคึผืึธืจืฅ ื“ื™ืึทื’ื ืึธืกื˜ื™ืงืก ื•ื•ืขืŸ ืขืก ืื™ื– ืึท ืคืึทืœืฉ ื‘ื™ืœื“ื˜ืึทื’ ืขืœื˜ืขืจืข ื•ื•ืขืจืกื™ืข ื‘ื•ื™ืขืŸ ื‘ืึทื’ืจืขื ืขืฆื•ื ื’ ื’ื™ื™ืŸ ืื™ืŸ ื“ื™ //go:build ื“ื™ืจืขืงื˜ื™ื•ื•. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, //go:build go1.23.1 ืจืขืคืขืจืก ืฆื• ืึท ืคื•ื ื˜ ืžืขืœื“ื•ื ื’; ืึทื ืฉื˜ืึธื˜ ื ื•ืฆืŸ //go:build go1.23. # ืงืกื ื•ืžืงืก.

ื“ื™ ื™ื’ื–ื™ืกื˜ื™ื ื’ ืงืึธืคึผื™ืขืœืึธืงืง ืึทื ืึทืœื™ื–ืขืจ ืื™ืฆื˜ ืจื™ืคึผืึธืจืฅ ืึท ื“ื™ืึทื’ื ืึธืกื˜ื™ืง ื•ื•ืขืŸ ืึท ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ืื™ื– ื“ืขืจืงืœืขืจื˜ ืื™ืŸ ืึท ื“ืจื™ื™ึทื™ืง "ืคึฟืึทืจ" ืฉืœื™ื™ืฃ, ืึทื–ืึท ื•ื•ื™ ืคึฟืึทืจ i := iter (); ื’ืขื˜ืืŸ (ืื™ืš); ืื™ืš = ื•ื•ื™ื™ึทื˜ืขืจ (ืื™ืš) { โ€ฆ }, ื›ึผื•ืœืœ ืกื™ื ืง.ืœืึธืงืขืจ, ืึทื–ืึท ื•ื•ื™ ืกื™ื ืง.ืžื•ื˜ืขืงืก. ื’ื™ื™ 1.22 ืคืืจืขื ื“ืขืจื˜ ื“ื™ ื ืึทื˜ื•ืจ ืคื•ืŸ ืึทื–ืึท ืœื•ืคึผืก ืฆื• ืฉืึทืคึฟืŸ ืึท ื ื™ื™ึทืข ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ืคึฟืึทืจ ื™ืขื“ืขืจ ื™ื˜ืขืจืึทื˜ื™ืึธืŸ, ืงืึทืคึผื™ื™ื ื’ ื“ื™ ื•ื•ืึทืœื•ืขืก ืคื•ืŸ ื“ื™ ืคืจื™ืขืจื“ื™ืงืข ื™ื˜ืขืจืึทื˜ื™ืึธืŸ; ื“ืขื ืงืึทืคึผื™ื™ื ื’ ืื™ื– ื ื™ืฉื˜ ื–ื™ื›ืขืจ ืคึฟืึทืจ ืœืึทืงืก. # ืงืกื ื•ืžืงืก.

GOCACHEPROG

ื“ื™ ื™ื ืขืจืœืขืš ืงืžื“ / ื’ื™ื™ืŸ ื‘ื™ื™ื ืขืจื™ ืื•ืŸ ืคึผืจื•ื‘ื™ืจืŸ ืงืึทื˜ืฉื™ื ื’ ืžืขืงืึทื ื™ื–ืึทื ืงืขื ืขืŸ ืื™ืฆื˜ ื–ื™ื™ืŸ ื™ืžืคึผืœืึทืžืขื ืึทื“ ื“ื•ืจืš ืงื™ื ื“ ืคึผืจืึทืกืขืกืึทื– ื™ืžืคึผืœืึทืžืขื ื™ื ื’ ืึท JSON ืคึผืจืึธื˜ืึธืงืึธืœ ืฆื•ื•ื™ืฉืŸ ื“ื™ ืงืžื“ / ื’ื™ื™ืŸ ื’ืขืฆื™ื™ึทื’ ืื•ืŸ ื“ื™ ืงื™ื ื“ ืคึผืจืึธืฆืขืก ื’ืขื”ื™ื™ืกืŸ ื“ื•ืจืš ื“ื™ GOCACHEPROG ืกื•ื•ื™ื•ื•ืข ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง. ืคืจื™ืขืจ ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ืคึฟืึทืจ GOEXPERIMENT. ื“ืขื˜ืึทื™ืœืก ืคื•ืŸ ื“ืขื ืคึผืจืึธื˜ืึธืงืึธืœ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื–ืขืŸ ืื™ืŸ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ.

ืฆื™ื™ื˜ ืคื•ืŸ ืงืึทืžืคึผืœื™ืฉืึทืŸ

ืขื˜ืœืขื›ืข ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ ืคื•ืŸ ืจื•ื ื˜ื™ืžืข ืคืึธืจืฉื˜ืขืœื•ื ื’ ืจื™ื“ื•ืกื˜ ื“ื™ ืงืคึผื• ืึธื•ื•ื•ืขืจื›ืขื“ ืžื™ื˜ 2-3% ืื™ืŸ ื“ื•ืจื›ืฉื ื™ื˜ืœืขืš ืื™ื‘ืขืจ ืึท ื’ืึทื ื’ ืคื•ืŸ ืจืขืคึผืจื™ื–ืขื ืึทื˜ื™ื•ื• ื‘ืขื ื˜ืฉืžืึทืจืงืก. ืจืขื–ื•ืœื˜ืึทื˜ืŸ ืงืขืŸ ื‘ื™ื™ึทื˜ืŸ ื“ื™ืคึผืขื ื“ื™ื ื’ ืื•ื™ืฃ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ. ื“ื™ ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ ืึทืจื™ื™ึทื ื ืขืžืขืŸ ืึท ื ื™ื™ึท ื’ืขื‘ื•ื™ื˜-ืื™ืŸ ืžืึทืคึผืข ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ืฉื•ื•ืขื“ื™ืฉ ื˜ืึทื‘ืœืขืก, ืžืขืจ ืขืคืขืงื˜ื™ื•ื• ืึทืœืึทืงื™ื™ืฉืึทืŸ ืคื•ืŸ ืงืœื™ื™ืŸ ื›ื™ื™ืคืขืฅ ื–ื›ึผืจื•ืŸ, ืื•ืŸ ืึท ื ื™ื™ึทืข ื™ื ืขืจืœืขืš ืจื•ื ื˜ื™ืžืข ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ ืžื•ื˜ืขืงืก.

ื“ื™ ื ื™ื™ึทืข ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ ื’ืขื‘ื•ื™ื˜-ืื™ืŸ ืžืึทืคึผืข ืื•ืŸ ื“ื™ ื ื™ื™ึทืข ื™ื ืขืจืœืขืš ืจื•ื ื˜ื™ืžืข ืžื•ื˜ืขืงืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ืคืึทืจืงืจื™ืคึผืœื˜ ื“ื•ืจืš ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ GOEXPERIMENT=noswissmap ืื•ืŸ GOEXPERIMENT=nospinbitmutex ืจื™ืกืคึผืขืงื˜ื™ื•ื•ืœื™.

ืงืึทืžืคึผื™ื™ืœืขืจ

ื“ืขืจ ืงืึทืžืคึผื™ื™ืœืขืจ ืฉื•ื™ืŸ ืคึผืจืึธื•ื›ื™ื‘ืึทื˜ืึทื“ ื“ื™ืคื™ื™ื ื™ื ื’ ื ื™ื™ึทืข ืžืขื˜ื”ืึธื“ืก ืžื™ื˜ ื•ืคื ืขืžืขืจ ื˜ื™ื™ืคึผืก ื•ื•ืึธืก ื–ืขื ืขืŸ ื“ื–ืฉืขื ืขืจื™ื™ื˜ืึทื“ ื“ื•ืจืš cgo, ืึธื‘ืขืจ ืขืก ืื™ื– ืžืขื’ืœืขืš ืฆื• ืึทืจื‘ืขื˜ืŸ ืึทืจื•ื ื“ืขื ืจื™ืกื˜ืจื™ืงืฉืึทืŸ ื“ื•ืจืš ืึท ื˜ื™ืคึผ ืึทืœื™ืึทืก. Go 1.24 ืื™ืฆื˜ ืฉื˜ืขื ื“ื™ืง ืจื™ืคึผืึธืจืฅ ืึท ื˜ืขื•ืช ืื•ื™ื‘ ื“ืขืจ ื•ืคื ืขืžืขืจ ื“ื™ื ืึธื•ืฅ ืึท ืงื’ืึธ-ื“ื–ืฉืขื ืขืจื™ื™ื˜ืึทื“ ื˜ื™ืคึผ, ืึธื“ืขืจ ื’ืœื™ื™ึทืš ืึธื“ืขืจ ืžื™ื ืึทืฆืึทื“ (ื“ื•ืจืš ืึท ื˜ื™ืคึผ ืึทืœื™ืึทืก).

ืœื™ื ืงืขืจ

ื“ืขืจ ืœื™ื ืงืขืจ ืื™ืฆื˜ ื“ื–ืฉืขื ืขืจื™ื™ืฅ ืึท GNU ื‘ื•ื™ืขืŸ ืื™ื“ืขื ื˜ื™ื˜ืขื˜ (ELF ืคึผืึธื–ื™ืฆื™ืข NT_GNU_BUILD_ID) ืื•ื™ืฃ ELF ืคึผืœืึทื˜ืคืึธืจืžืก ืื•ืŸ ืึท UUID (Mach-O load command LC_UUID) ืื•ื™ืฃ macOS ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜. ื“ื™ ื‘ื•ื™ืขืŸ ืฉื™ื™ึทืŸ ืึธื“ืขืจ UUID ืื™ื– ื“ืขืจื™ื™ื•ื•ื“ ืคื•ืŸ ื“ื™ Go build ID. ื“ืขื ืงืขื ืขืŸ ื–ื™ื™ืŸ ืื•ื™ืกื’ืขื“ืจื™ื™ื˜ ืึทื•ื•ืขืง ืžื™ื˜ ื“ื™ -B ืงื™ื™ืŸ ืœื™ื ืงืขืจ ืคืึธืŸ, ืึธื“ืขืจ ืึธื•ื•ื•ืขืจืจื™ื“ืึทืŸ ืžื™ื˜ ื“ื™ -B 0xNNNN ืœื™ื ืงืขืจ ืคืึธืŸ ืžื™ื˜ ืึท ื‘ืึทื ื™ืฆืขืจ-ืกืคึผืขืกื™ืคื™ืขื“ ื”ืขืงืกืึทื“ืขืกื™ืžืึทืœ ื•ื•ืขืจื˜.

ื”ืขื›ืขืจื•ื ื’

ื•ื•ื™ ื’ืขื–ืึธื’ื˜ ืื™ืŸ ื’ื™ื™ืŸ ืฆื• 1.22 ืžืขืœื“ื•ื ื’ ื”ืขืจื•ืช, Go 1.24 ืื™ืฆื˜ ืจื™ืงื•ื•ื™ื™ืขืจื– Go 1.22.6 ืึธื“ืขืจ ืฉืคึผืขื˜ืขืจ ืฆื• ื–ื™ื™ืŸ ืื™ื ืกื˜ืึทืœื™ืจืŸ. ื“ื™ ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ื“ืขืจื•ื•ืึทืจื˜ืŸ ืึทื– Go 1.26 ื•ื•ืขื˜ ื“ืึทืจืคืŸ ืึท ืคื•ื ื˜ ืžืขืœื“ื•ื ื’ ืคื•ืŸ Go 1.24 ืึธื“ืขืจ ืฉืคึผืขื˜ืขืจ ืฆื• ื–ื™ื™ืŸ ืจืึธื•ืœื“ ืื•ื™ืก.

ื ืึธืจืžืึทืœ ื‘ื™ื‘ืœื™ืึธื˜ืขืง

Directory-ืจื™ืกื˜ืจื™ืงื˜ื™ื“ ื˜ืขืงืข ืกื™ืกื˜ืขื ืึทืงืกืขืก

ื ื™ื™ึท ื˜ื™ืคึผ os.root ื’ื™ื˜ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ื“ื•ืจื›ืคื™ืจืŸ ื˜ืขืงืข ืกื™ืกื˜ืขื ืึทืคึผืขืจื™ื™ืฉืึทื ื– ืื™ืŸ ืึท ืกืคึผืขืฆื™ืคื™ืฉ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ.

ืคื•ื ืงืฆื™ืึธื ื™ืจืŸ os.OpenRoot ืึธืคึผืขื ืก ื“ื™ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ืื•ืŸ ืงืขืจื˜ os.root. ืžืขื˜ื”ืึธื“ืก ืื•ื™ืฃ os.root ืึทืจื‘ืขื˜ืŸ ืื™ืŸ ื“ืขื ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ืื•ืŸ ื˜ืึธืŸ ื ื™ื˜ ืœืึธื–ืŸ ืคึผืึทื˜ืก ืฆื• ืึธืคึผืฉื™ืงืŸ ืฆื• ืœืึธื•ืงื™ื™ืฉืึทื ื– ืึทืจื•ื™ืก ื“ื™ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ื™ืขื ืข ื•ื•ืึธืก ื ืึธื›ื’ื™ื™ืŸ ืกื™ืžื‘ืึธืœื™ืฉ ืคึฟืึทืจื‘ื™ื ื“ื•ื ื’ืขืŸ ืึทืจื•ื™ืก ื“ื™ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ. ื“ื™ ืžืขื˜ื”ืึธื“ืก ืื•ื™ืฃ os.root ืคืึทืจื˜ืจืึทื›ื˜ื  ืจื•ื‘ึฟ ืคื•ืŸ ื“ื™ ืคื™ืœืขืกื™ืกื˜ืขื ืึทืคึผืขืจื™ื™ืฉืึทื ื– ื‘ื ื™ืžืฆื ืื™ืŸ ื“ื™ ืึทืก ืคึผืขืงืœ, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜, ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืึธืก. ื•ื•ืึธืจืฆืœ. ืขืคึฟืŸ, ืึธืก.ืจื•ื˜.ืฉืึทืคึฟืŸ, ืึธืก.ืจื•ื˜.ืžืงื“ื™ืจ ะธ ืึธืก. ื•ื•ืึธืจืฆืœ.ืกื˜ืึทื˜.

ื ื™ื• ื‘ืขื ื˜ืฉืžืึทืจืง ืฉื˜ืจื™ืš

ื‘ืขื ื˜ืฉืžืึทืจืงืก ืงืขื ืขืŸ ืื™ืฆื˜ ื ื•ืฆืŸ ืึท ืคืึทืกื˜ืขืจ, ื•ื•ื™ื™ื ื™ืงืขืจ ื˜ืขื•ืช-ืคึผืจืึธื ืข ืื•ืคึฟืŸ ื˜ืขืกื˜ื™ื ื’.ื‘.ืœื•ืคึผ ืฆื• ื™ื˜ืขืจื™ื™ื˜ ืื™ื‘ืขืจ ืึท ื‘ืขื ื˜ืฉืžืึทืจืง ื•ื•ื™ ืคึฟืึทืจ b.Loop () { โ€ฆ } ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ื“ื™ ื˜ื™ืคึผื™ืฉ ืฉืœื™ื™ืฃ ืกื˜ืจืึทืงื˜ืฉืขืจื– ื™ื ื•ื•ืึทืœื•ื•ื™ื ื’ bN ื•ื•ื™ ืคึฟืึทืจ ืงื™ื™ื˜ bN, ื“ืึธืก ืึธืคืคืขืจืก ืฆื•ื•ื™ื™ ื‘ืึทื˜ื™ื™ื˜ื™ืง ืึทื“ื•ื•ืึทื ื˜ื™ื“ื–ืฉื™ื–:

  • ื“ื™ ื‘ืขื ื˜ืฉืžืึทืจืง ืคึฟื•ื ืงืฆื™ืข ืื™ื– ืขืงืกืึทืงื™ื•ื˜ืึทื“ ืคึผื•ื ืงื˜ ืึทืžืึธืœ ืคึผืขืจ ืฆื™ื™ืœืŸ, ืึทื–ื•ื™ ื“ื™ ื˜ื™ื™ึทืขืจ ืกืขื˜ืึทืคึผ ืื•ืŸ ืงืœื™ื ืึทืคึผ ืกื˜ืขืคึผืก ื–ืขื ืขืŸ ื‘ืœื•ื™ื– ื’ืขื˜ืืŸ ืึทืžืึธืœ.
  • ื“ื™ ืคื•ื ืงืฆื™ืข ืจื•ืคืŸ ืคึผืึทืจืึทืžืขื˜ืขืจืก ืื•ืŸ ืจืขื–ื•ืœื˜ืึทื˜ืŸ ืœืขื‘ืŸ ืื•ื™ืฃ, ืคึผืจืขื•ื•ืขื ื˜ื™ื ื’ ื“ื™ ืงืึทืžืคึผื™ื™ืœืขืจ ืคื•ืŸ ื’ืึธืจ ืึธืคึผื˜ื™ืžื™ื–ื™ืจืŸ ื“ื™ ืฉืœื™ื™ืฃ ื’ื•ืฃ.

ื™ืžืคึผืจื•ื•ื•ื“ ืคื™ื™ื ืึทืœื™ื™ื–ืขืจื–

ื ื™ื• ืฉื˜ืจื™ืš ืจื•ื ื˜ื™ืžืข.ืึทื“ื“ืงืœืขืึทื ื•ืคึผ ืื™ื– ืึท ืงืึทืžืคึผืœื™ืฉืึทืŸ ืžืขืงืึทื ื™ื–ืึทื ื•ื•ืึธืก ืื™ื– ืžืขืจ ืคืœืขืงืกืึทื‘ืึทืœ, ืžืขืจ ืขืคืขืงื˜ื™ื•ื• ืื•ืŸ ื•ื•ื™ื™ื ื™ืงืขืจ ื˜ืขื•ืช-ืคึผืจืึธื ืข ื•ื•ื™ ืจื•ื ื˜ื™ืžืข.ืกืขื˜ืคื™ื ืึทืœื™ื–ืขืจ. AddCleanup ืึทื˜ืึทื˜ืฉื™ื– ืึท ืงืœื™ื ืึทืคึผ ืคึฟื•ื ืงืฆื™ืข ืฆื• ืึท ื›ื™ื™ืคืขืฅ ื•ื•ืึธืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ืœื•ื™ืคืŸ ื•ื•ื™ ื‘ืึทืœื“ ื•ื•ื™ ื“ื™ ื›ื™ื™ืคืขืฅ ืื™ื– ืึทื ืึทื•ื•ื™ื™ืœืึทื‘ืึทืœ. ืึธื‘ืขืจ, ื ื™ื˜ ืขื ืœืขืš SetFinalizer, ืงื™ื™ืคืœ ืงืœื™ื ืึทืคึผืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ืึทื˜ืึทื˜ืฉื˜ ืฆื• ืึท ืื™ื™ืŸ ื›ื™ื™ืคืขืฅ, ืงืœื™ื ืึทืคึผืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ืึทื˜ืึทื˜ืฉื˜ ืฆื• ื™ื ืขืจืœืขืš ืคึผื•ื™ื ื˜ืขืจื–, ืงืœื™ื ืึทืคึผืก ื˜ืึธืŸ ื ื™ื˜ ื˜ื™ืคึผื™ืงืœื™ ืคืึทืจืฉืึทืคืŸ ืœื™ืงืก ื•ื•ืขืŸ ืึทื‘ื“ื–ืฉืขืงืฅ ืคืึธืจืขื ืึท ืฆื™ืงืœ, ืื•ืŸ ืงืœื™ื ืึทืคึผืก ื˜ืึธืŸ ื ื™ื˜ ืคืึทืจื”ืึทืœื˜ืŸ ื“ื™ ืึทืœืึทืงื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ ื›ื™ื™ืคืขืฅ ืึธื“ืขืจ ืึทื‘ื“ื–ืฉืขืงืฅ ืฆื• ื•ื•ืึธืก. ื ื™ื• ืงืึธื“ ื–ืึธืœ ื‘ืขืกืขืจ AddCleanup ืื™ื‘ืขืจ SetFinalizer.

ื ื™ื™ึท ืฉื•ื•ืึทืš ืคึผืขืงืœ

ื ื™ื™ึท ืคึผืขืงืœ ืฉื•ื•ืึทืš ื’ื™ื˜ ืฉื•ื•ืึทืš ืคึผื•ื™ื ื˜ืขืจื–.

ืฉื•ื•ืึทืš ืคึผื•ื™ื ื˜ืขืจื– ื–ืขื ืขืŸ ืึท ื ื™ื“ืขืจื™ืง-ืžื“ืจื’ื” ืคึผืจื™ืžื™ื˜ื™ื•ื• ืฆื•ื’ืขืฉื˜ืขืœื˜ ืคึฟืึทืจ ืฉืืคืŸ ื–ื›ึผืจื•ืŸ-ืขืคืขืงื˜ื™ื•ื• ืกื˜ืจืึทืงื˜ืฉืขืจื– ืึทื–ืึท ื•ื•ื™ ืฉื•ื•ืึทืš ื“ื™ืงืฉืึทื ืขืจื™ื– ืคึฟืึทืจ ืžืึทืคึผื™ื ื’ ื•ื•ืึทืœื•ืขืก, ืงืึทื ืึธื ื™ืงืึทืœื™ื–ืึทื˜ื™ืึธืŸ ื“ื™ืงืฉืึทื ืขืจื™ื– ืคึฟืึทืจ ืขืคึผืขืก ื•ื•ืึธืก ืื™ื– ื ื™ืฉื˜ ื‘ืื“ืขืงื˜ ื“ื•ืจืš ืึท ืคึผืขืงืœ. ื™ื™ื ืฆื™ืง, ืื•ืŸ ืคืึทืจืฉื™ื“ืŸ ื˜ื™ื™ืคึผืก ืคื•ืŸ ืงืึทื˜ืฉืขืก. ืฆื• ืฉื˜ื™ืฆืŸ ื“ื™ ื ื•ืฆืŸ ืงืึทืกืขืก, ื“ืขื ืžืขืœื“ื•ื ื’ ืื•ื™ืš ื’ื™ื˜ ืจื•ื ื˜ื™ืžืข.ืึทื“ื“ืงืœืขืึทื ื•ืคึผ ะธ maphash.Comparable.

ื ื™ื• ืงืจื™ืคึผื˜ืึธ / ืžืœืงืขื ืคึผืขืงืœ

ื ื™ื™ึท ืคึผืขืงืœ ืงืจื™ืคึผื˜ืึธ / ืžืœืงืขื ื™ืžืคึผืœืึทืžืึทื ืฅ ML-KEM-768 ืื•ืŸ ML-KEM-1024.

ML-KEM ืื™ื– ืึท ืคึผืึธืกื˜-ืงื•ื•ืึทื ื˜ื•ื ืฉืœื™ืกืœ ื•ื•ืขืงืกืœ ืžืขืงืึทื ื™ื–ืึทื, ืึทืžืึธืœ ื‘ืืงืื ื˜ ื•ื•ื™ ืงื™ื‘ืขืจ ืื•ืŸ ืกืคึผืขืกื™ืคื™ืขื“ ืื™ืŸ FIPS 203.

ื ื™ื• ืคึผืึทืงื™ื“ื–ืฉื™ื– ืงืจื™ืคึผื˜ืึธ / ื”ืงื“ืฃ, ืงืจื™ืคึผื˜ืึธ / ืคึผื‘ืงื“ืค2 ืื•ืŸ ืงืจื™ืคึผื˜ืึธ / ืฉืึท3

ื ื™ื™ึท ืคึผืขืงืœ ืงืจื™ืคึผื˜ืึธ / ื”ืงื“ืฃ ื™ืžืคึผืœืึทืžืึทื ืฅ ื“ื™ HMAC-ื‘ืื–ื™ืจื˜ "ืขืงืกื˜ืจืึทืงื˜-ืื•ืŸ-ืขืงืกืคึผืึทื ื“" ืฉืœื™ืกืœ ื“ืขืจื™ื•ื•ื™ื™ืฉืึทืŸ ืคื•ื ืงืฆื™ืข HKDF ื•ื•ื™ ื“ื™ืคื™ื™ื ื“ ืื™ืŸ ืจืคืง ืงืกื ื•ืžืงืก.

ื ื™ื™ึท ืคึผืขืงืœ ืงืจื™ืคึผื˜ืึธ/ืคึผื‘ืงื“ืค2 ื™ืžืคึผืœืึทืžืึทื ืฅ ื“ื™ ืคึผืึทืจืึธืœ-ื‘ืื–ื™ืจื˜ ืฉืœื™ืกืœ ื“ืขืจื™ื•ื•ื™ื™ืฉืึทืŸ ืคื•ื ืงืฆื™ืข PBKDF2 ื•ื•ื™ ื“ื™ืคื™ื™ื ื“ ืื™ืŸ ืจืคืง ืงืกื ื•ืžืงืก.

ื ื™ื™ึท ืคึผืขืงืœ ืงืจื™ืคึผื˜ืึธ / ืฉืึท3 ื™ืžืคึผืœืึทืžืึทื ืฅ ื“ื™ SHA-3 ื”ืึทืฉ ืคึฟื•ื ืงืฆื™ืข ืื•ืŸ ื“ื™ SHAKE ืื•ืŸ cSHAKE ืขืงืกื˜ืขื ืกื™ื‘ืœืข ืจืขื–ื•ืœื˜ืึทื˜ ืคืึทื ื’ืงืฉืึทื ื– ื•ื•ื™ ื“ื™ืคื™ื™ื ื“ ืื™ืŸ FIPS 202.

ืึทืœืข ื“ืจื™ื™ ืคึผืึทืงืึทื“ื–ืฉืึทื– ื–ืขื ืขืŸ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ ื™ื’ื–ื™ืกื˜ื™ื ื’ golang.org/x/crypto/โ€ฆ ืคึผืึทืงืึทื“ื–ืฉืึทื–.

FIPS 140-3 ื”ืขืกืงืขื

ื“ืขื ืžืขืœื“ื•ื ื’ ื›ื•ืœืœ ืึท ื ื™ื™ึทืข ื’ืึทื ื’ ืคื•ืŸ ืžืขืงืึทื ื™ื–ืึทืžื– ืฆื• ืขื ืฉื•ืจ ื“ื™ ื”ืขืกืงืขื ืคื•ืŸ FIPS 140-3.

ื“ื™ Go ืงืจื™ืคึผื˜ืึธ ืžืึธื“ื•ืœืข ืื™ื– ืึท ืกื›ื•ื ืคื•ืŸ ื™ื ืขืจืœืขืš ื ืึธืจืžืึทืœ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืคึผืึทืงืึทื“ื–ืฉืึทื– ื•ื•ืึธืก ื–ืขื ืขืŸ ื˜ืจืึทื ืกืคึผืขืจืึทื ื˜ ื’ืขื ื™ืฆื˜ ืฆื• ื™ื ืกื˜ืจื•ืžืขื ื˜ FIPS 140-3 ื‘ืื•ื•ื™ืœื™ืงื˜ ืึทืœื’ืขืจื™ื“ืึทืžื–. ืึทืคึผืคึผืœื™ืงืึทื˜ื™ืึธื ืก ื˜ืึธืŸ ื ื™ื˜ ื“ืึทืจืคืŸ ืขื ื“ืขืจื•ื ื’ืขืŸ ืฆื• ื ื•ืฆืŸ ื“ื™ Go ืงืจื™ืคึผื˜ืึธ ืžืึธื“ื•ืœืข ืคึฟืึทืจ ื‘ืื•ื•ื™ืœื™ืงื˜ ืึทืœื’ืขืจื™ื“ืึทืžื–.

ื“ื™ ื ื™ื™ึทืข ื™ื ื•ื•ื™ื™ืจืึทื ืžืขื ืึทืœ ื•ื•ืขืจื™ืึทื‘ืึทืœ GOFIPS140 ืงืขื ืขืŸ ื•ื•ืขืจืŸ ื’ืขื ื•ืฆื˜ ืฆื• ืื•ื™ืกืงืœื™ื™ึทื‘ืŸ ื“ื™ ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ื“ื™ ื’ื™ื™ืŸ ืงืจื™ืคึผื˜ืึธ ืžืึธื“ื•ืœืข ืฆื• ื ื•ืฆืŸ ืื™ืŸ ืึท ื‘ื•ื™ืขืŸ. ื ื™ื• GODEBUG ืกืขื˜ืึทืคึผ fips140 ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืฆื• ื’ืขื‘ืŸ FIPS 140-3 ืžืึธื“ืข ืื™ืŸ ืจื•ื ื˜ื™ืžืข.

Go 1.24 ื›ื•ืœืœ ื“ื™ Go ืงืจื™ืคึผื˜ืึธ ืžืึธื“ื•ืœืข v1.0.0, ื•ื•ืึธืก ืื™ื– ื“ืขืจื•ื•ื™ื™ึทืœ ื˜ืขืกื˜ืขื“ ืžื™ื˜ ืึท CMVP-ืึทืงืจืขื“ื™ื˜ื™ื“ ืœืึทื‘ืึธืจืึทื˜ืึธืจื™ืข.

ื ื™ื• ื™ืงืกืคึผืขืจืžืขื ืึทืœ ืคึผืขืงืœ ื˜ืขืกื˜ื™ื ื’ / ืกื™ื ืงื˜ืขืกื˜

ื ื™ื• ื™ืงืกืคึผืขืจืžืขื ืึทืœ ืคึผืขืงืœ ื˜ืขืกื˜ื™ื ื’ / ืกื™ื ืงื˜ืขืกื˜ ืคึผืจืึธื•ื•ื™ื“ืขืก ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื˜ืขืกื˜ื™ื ื’ ืงืึทื ืงืขืจืึทื ื˜ ืงืึธื“.

  • ืคื•ื ืงืฆื™ืึธื ื™ืจืŸ synctest.run ืœื•ื™ืคื˜ ื ื’ืจื•ืคืข ื’ืืจื•ื˜ื™ื ืขืก ืื™ืŸ ืืŸ ืืคื’ืขื–ื•ื ื“ืขืจื˜ืขืจ "ื‘ืœืึธื–". ืื™ืŸ ื“ื™ ื‘ืœืึธื– ืคื•ืŸ ื“ื™ ืคึผืขืงืœ ืคื•ื ืงืฆื™ืึธื ื™ืจืŸ ืฆื™ื™ึทื˜ ืึทืจื‘ืขื˜ืŸ ืื•ื™ืฃ ืคืึทืœืฉ ื–ื™ื™ื’ืขืจืก.
  • ืคืึทื ื’ืงืฉืึทื ื– synctest.wait ื•ื•ืึทืจื˜ืŸ ื‘ื™ื– ืึทืœืข ื’ืึธืจืึธื•ื˜ื™ื ื– ื–ืขื ืขืŸ ืืคื’ืขืฉื˜ืขืœื˜ ืื™ืŸ ื“ื™ ืงืจืึทื ื˜ ื‘ืœืึธื–.

ื“ืขื˜ืึทื™ืœืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขืคึฟื•ื ืขืŸ ืื™ืŸ ื“ื™ ืคึผืขืงืœ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ.

ื“ื™ ืกื™ื ืงื˜ืขืกื˜ ืคึผืขืงืœ ืื™ื– ื™ืงืกืคึผืขืจืžืขื ืึทืœ ืื•ืŸ ืžื•ื–ืŸ ื–ื™ื™ืŸ ืขื ื™ื™ื‘ืึทืœื“ ื“ื•ืจืš ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ GOEXPERIMENT=synctest. ื“ืขืจ ืคึผืขืงืœ API ืงืขืŸ ื˜ื•ื™ืฉืŸ ืื™ืŸ ืฆื•ืงื•ื ืคึฟื˜ ืจื™ืœื™ืกื™ื–. ืื™ืŸ # ืงืกื ื•ืžืงืก ืื™ืจ ืงืขื ื˜ ื–ืขืŸ ืžืขืจ ื“ืขื˜ืึทื™ืœืก ืื•ืŸ ื’ืขื‘ืŸ ื‘ืึทืžืขืจืงื•ื ื’ืขืŸ.

ืžื™ื™ื ืขืจ ืขื ื“ืขืจื•ื ื’ืขืŸ ืื™ืŸ ื“ืขืจ ื‘ื™ื‘ืœื™ืึธื˜ืขืง

ืึทืจื˜ืฉื™ื•ื•ืข

ื“ื™ (*Writer.AddFS) ื™ืžืคึผืœืึทืžืึทื ืฅ ืื™ืŸ ืึทืจืงื™ื™ื•ื• / ืคืึทืจืฉืœืขืกืœืขืŸ ืื•ืŸ ืึทืจืงื™ื™ื•ื• / ื˜ืึทืจ ืื™ืฆื˜ ืฉืจื™ื™ึทื‘ืŸ ื“ื™ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ื›ืขื“ืขืจ ืคึฟืึทืจ ืึท ืœื™ื™ื“ื™ืง ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ.

ื‘ื™ื˜ืขืก

ืคึผืขืงืœ ื‘ื™ื˜ืขืก ืžื•ืกื™ืฃ ืขื˜ืœืขื›ืข ืคืึทื ื’ืงืฉืึทื ื– ื•ื•ืึธืก ืึทืจื‘ืขื˜ ืžื™ื˜ ื™ื˜ืขืจื™ื™ื˜ืขืจื–:

  • ืฉื•ืจื•ืช ืงืขืจื˜ ืึทืŸ ื™ื˜ืขืจืึทื˜ืึธืจ ืื™ื‘ืขืจ ื ืขื•ื•ืœื™ื™ืŸ-ืฆืขืฉื™ื™ื“ืŸ ืกื˜ืจื™ื ื’ืก ืื™ืŸ ืึท ื‘ื™ื™ื˜ ืจืขืคื˜ืœ.
  • SplitSeq ืงืขืจื˜ ืึทืŸ ื™ื˜ืขืจืึทื˜ืึธืจ ืื™ื‘ืขืจ ืึทืœืข ืกืึทื‘ืกืœื™ื™ื– ืคื•ืŸ ืึท ื‘ื™ื™ื˜ ืจืขืคื˜ืœ ืืคื’ืขืฉื™ื™ื“ื˜ ื“ื•ืจืš ืึท ืกืขืคึผืึทืจืึทื˜ืึธืจ.
  • SplitAfterSeq ืงืขืจื˜ ืึทืŸ ื™ื˜ืขืจืึทื˜ืึธืจ ืื™ื‘ืขืจ ื“ื™ ืกืึทื‘ืกืœื™ื™ื– ืคื•ืŸ ืึท ื‘ื™ื™ื˜ ืจืขืคื˜ืœ, ืฉืคึผืึทืœื˜ืŸ ื ืึธืš ื™ืขื“ืขืจ ืคึผืึทืกื™ืจื•ื ื’ ืคื•ืŸ ื“ื™ ืกืขืคึผืึทืจืึทื˜ืึธืจ.
  • FieldsSeq ืงืขืจื˜ ืึทืŸ ื™ื˜ืขืจืึทื˜ืึธืจ ืื™ื‘ืขืจ ืกืึทื‘ืกืœื™ื™ืกืึทื– ืคื•ืŸ ืึท ื‘ื™ื™ื˜ ืจืขืคื˜ืœ ืึทืจื•ื ืกื™ืงื•ื•ืึทื ืกื™ื– ืคื•ืŸ ืคึผืœืึทืฅ ืื•ืชื™ื•ืช, ื•ื•ื™ ื“ื™ืคื™ื™ื ื“ ืื•ื ื™ืงืึธื“.ื™ืกืคึผืึทืกืข
  • FieldsFuncSeq ืงืขืจื˜ ืึทืŸ ื™ื˜ืขืจืึทื˜ืึธืจ ืื™ื‘ืขืจ ืกื•ื‘ืกืœื™ืกืขืก ืคื•ืŸ ืึท ื‘ื™ื™ื˜ ืจืขืคื˜ืœ ืึทืจื•ื ืกื™ืงื•ื•ืึทื ืกื™ื– ืคื•ืŸ ืื•ื ื™ืงืึธื“ ืงืึธื“ ื•ื•ื™ื™ื–ื˜ ืกืึทื˜ื™ืกืคื™ื™ื™ื ื’ ืึท ืคึผืจืขื“ื™ืงืึทื˜.

ืงืจื™ืคึผื˜ืึธ / ืึทืขืก

ืฆื•ืจื™ืงืงื•ืžืขืŸ ื•ื•ืขืจื˜ ื ื™ื• ื˜ืฉื™ืคืขืจ ื ื™ื˜ ืžืขืจ ื™ืžืคึผืœืึทืžืึทื ืฅ ื“ื™ NewCTR, NewGCM, NewCBCEncrypter ืื•ืŸ NewCBCDecrypter ืžืขื˜ื”ืึธื“ืก. ื“ื™ ืžืขื˜ื”ืึธื“ืก ื–ืขื ืขืŸ ืึทื ื“ืึทืงื™ืึทืžืขื ื™ื“ ืื•ืŸ ื ื™ื˜ ื‘ื ื™ืžืฆื ืื•ื™ืฃ ืึทืœืข ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจื–. ืื™ืฆื˜ ื“ืขืจ ื˜ื™ื™ึทื˜ืฉ ื‘ืœืึธืง ืžื•ื–ืŸ ื–ื™ื™ืŸ ื“ื•ืจื›ื’ืขื’ืื ื’ืขืŸ ื’ืœื™ื™ึทืš ืฆื• ื“ื™ ืฆื•ื ืขืžืขืŸ ืคืึทื ื’ืงืฉืึทื ื– ืงืจื™ืคึผื˜ืึธ / ืกื™ืคืขืจ. ื“ืขืจื•ื•ื™ื™ึทืœ, ืงืจื™ืคึผื˜ืึธ / ืกื™ืคืขืจ ื ืึธืš ื˜ืฉืขืงืก ื“ื™ ืžืขื˜ื”ืึธื“ืก ืื•ื™ืฃ ื‘ืœืึทืง ื•ื•ืึทืœื•ืขืก, ื›ืึธื˜ืฉ ื–ื™ื™ ื–ืขื ืขืŸ ื ื™ื˜ ืžืขืจ ื’ืขืฉื˜ื™ืฆื˜ ื“ื•ืจืš ื“ื™ ื ืึธืจืžืึทืœ ื‘ื™ื‘ืœื™ืึธื˜ืขืง.

ืงืจื™ืคึผื˜ืึธ / ืกื™ืคืขืจ

ื ื™ื• ืฉื˜ืจื™ืš NewGCMWithRandomNonce ืงืขืจื˜ ื–ื™ืš AEAD, ื•ื•ืึธืก ื™ืžืคึผืœืึทืžืึทื ืฅ AES-GCM ื“ื•ืจืš ื“ื–ืฉืขื ืขืจื™ื™ื˜ื™ื ื’ ืึท ืจืึทื ื“ืึธื ื ืึทื ืก ื‘ืขืฉืึทืก ืกื™ืœ ืื•ืŸ ืคึผืจื™ืคึผืขื ื“ื™ื ื’ ืขืก ืฆื• ื“ื™ ืกื™ืคืขืจื˜ืขืงืกื˜.

ื™ืžืคึผืœืขืžืขื ื˜ืึทื˜ื™ืึธืŸ ื˜ื™ื™ึทืš, ืื•ืžื’ืขืงืขืจื˜ NewCTR ื•ื•ืขืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืžื™ื˜ ืงืจื™ืคึผื˜ืึธ / ืึทืขืก ืื™ืฆื˜ ืขื˜ืœืขื›ืข ืžืึธืœ ืคืึทืกื˜ืขืจ ืื•ื™ืฃ amd64 ืื•ืŸ arm64.

NewOFB, NewCFBEncrypter ะธ NewCFBDecrypter ื–ืขื ืขืŸ ืื™ืฆื˜ ื“ืขืจืงืœืขืจื˜ ืคึฟืึทืจ ืคืึทืจืขืœื˜ืขืจื˜. OFB ืื•ืŸ CFB ืžืึธื“ืขืก ื–ืขื ืขืŸ ืึทื ืึทื•ื˜ืขื ื˜ืึทืงื™ื™ื˜ื™ื“, ื•ื•ืึธืก ื‘ื›ืœืœ ืึทืœืึทื•ื– ืึทืงื˜ื™ื•ื• ืื ืคืืœืŸ ืฆื• ืžืึทื ื™ืคึผื•ืœื™ืจืŸ ืื•ืŸ ืฆื•ืจื™ืงืงืจื™ื’ืŸ ืงืœืึธืจ ื˜ืขืงืกื˜. ืึทืคึผืคึผืœื™ืงืึทื˜ื™ืึธื ืก ื–ืขื ืขืŸ ืจืขืงืึทืžืขื ื“ื™ื“ ืฆื• ื ื•ืฆืŸ AEAD ืื™ืŸ ืฆื•ืจื™ืงืงื•ืžืขืŸ. ืื•ื™ื‘ ืึทื ืึธื˜ืขื ื˜ื™ืงื™ื™ื˜ื™ื“ ืžืึธื“ืข ื˜ื™ื™ึทืš ื ื™ื™ื˜ื™ืง, ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ NewCTR ืื™ืŸ ืฆื•ืจื™ืงืงื•ืžืขืŸ.

ืงืจื™ืคึผื˜ืึธ / ืขืงื“ืกืึท

PrivateKey.Sign ืื™ืฆื˜ ืงืจื™ื™ื™ืฅ ืึท ื“ื™ื˜ืขืจืžืึทื ื™ืกื˜ื™ืง ื›ืกื™ืžืข ืœื•ื™ื˜ ืฆื• ืจืคืง ืงืกื ื•ืžืงืก, ืื•ื™ื‘ ื“ื™ ืจืึทื ื“ืึทืžื ืึทืก ืžืงื•ืจ ืื™ื– ื ื™ื™ืœ.

ืงืจื™ืคึผื˜ืึธ / ืžื“5

ืฆื•ืจื™ืงืงื•ืžืขืŸ ื•ื•ืขืจื˜ md5.new, ืื™ืฆื˜ ืื•ื™ืš ื™ืžืคึผืœืึทืžืึทื ืฅ ื“ื™ ืฆื•ื‘ื™ื ื“ ืงืึธื“ื™ืจื•ื ื’.ื‘ื™ื ืึทืจื™ืึทืคึผืขื ื“ืขืจ.

ืงืจื™ืคึผื˜ืึธ / ืจืึทื ื“

ืคื•ื ืงืฆื™ืึธื ื™ืจืŸ ืœื™ื™ืขื ืขืŸ ืื™ืฆื˜ ื’ืขืจืึทื ื˜ื™ื– ืงื™ื™ืŸ ืคื™ื™ืœื™ืขืจื–. ืื•ื™ื‘ ืœื™ื™ืขื ืขืŸ ื™ื ืงืึทื•ื ื˜ืขืจื– ืึท ื˜ืขื•ืช ื‘ืฉืขืช ืœื™ื™ืขื ืขืŸ ืœื™ื™ืขื ืขืจ, ื“ืขืจ ืคึผืจืึธื’ืจืึทื ื•ื•ืขื˜ ืคึผืขืจืžืึทื ืึทื ื˜ืœื™ ืคืึทืจืขื ื“ื™ืงืŸ. ื‘ืึทืžืขืจืงื•ื ื’ ืึทื– ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ืจื™ื“ืขืจ ืื™ื– ื“ืึทืงื™ื•ืžืขื ื˜ืึทื“ ืฆื• ืฉื˜ืขื ื“ื™ืง ืึทืจื‘ืขื˜ ื”ืฆืœื—ื”, ืึทื–ื•ื™ ื“ื™ ืขื ื“ืขืจื•ื ื’ ื–ืึธืœ ื ืึธืจ ื•ื•ื™ืจืงืŸ ืžื’ื™ืœื” ื•ื•ืึธืก ืึธื•ื•ื•ืขืจืจื™ื™ื“ ื“ื™ ืจื™ื“ืขืจ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง. ืื™ื™ืŸ ื•ื™ืกื ืขื ืื™ื– ืœื™ื ื•ืงืก ืงืขืจื ืึทืœื– ืื™ื™ื“ืขืจ 3.17, ื•ื•ื• ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ืจื™ื“ืขืจ ื ืึธืš ืึธืคึผืขื ืก /dev/urandom ืื•ืŸ ืงืขืŸ ืคืึทืจืœืึธื–ืŸ.

ืื•ื™ืฃ ืœื™ื ื•ืงืก 6.11 ืื•ืŸ ืฉืคึผืขื˜ืขืจ, ืจื™ื“ืขืจ ืื™ืฆื˜ ื ื™ืฆื˜ ื“ื™ ื’ืขื˜ืจืึทื ื“ืึธื ืกื™ืกื˜ืขื ืจื•ืคืŸ ื“ื•ืจืš vDSO. ื“ืึธืก ืื™ื– ืขื˜ืœืขื›ืข ืžืึธืœ ืคืึทืกื˜ืขืจ, ื™ื•ื–ืฉืึทื•ื•ืึทืœื™ ืคึฟืึทืจ ืงืœื™ื™ืŸ ืœื™ื™ืขื ืขืŸ.

ืื•ื™ืฃ OpenBSD Reader ืื™ืฆื˜ ื ื™ืฆื˜ arc4random_buf (3).

ื ื™ื• ืฉื˜ืจื™ืš ื˜ืขืงืกื˜ ืงืขื ืขืŸ ืื™ืฆื˜ ื“ื–ืฉืขื ืขืจื™ื™ื˜ ืงืจื™ืคึผื˜ืึธื’ืจืึทืคื™ืงืึทืœืœื™ ื–ื™ื›ืขืจ ื˜ืจืึทืค - ื˜ืขืงืกื˜ ืกื˜ืจื™ื ื’ืก.

ืงืจื™ืคึผื˜ืึธ / ืจืกืึท

GenerateKey ืื™ืฆื˜ ืงืขืจื˜ ืึท ื˜ืขื•ืช ืื•ื™ื‘ ืึท ืฉืœื™ืกืœ ืœืขื ื’ ืคื•ืŸ ื•ื•ื™ื™ื ื™ืงืขืจ ื•ื•ื™ 1024 ื‘ื™ื˜ืŸ ืื™ื– ืคืืจืœืื ื’ื˜. ื›ืœ ืฆื™ื™ื›ืŸ, ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ, ืขื ืงืจื™ืคึผื˜ ืื•ืŸ ื“ืขืงืจื™ืคึผื˜ ืžืขื˜ื”ืึธื“ืก ืื™ืฆื˜ ื’ืขื‘ืŸ ืึท ื˜ืขื•ืช ืื•ื™ื‘ ื’ืขื•ื•ื™ื™ื ื˜ ืžื™ื˜ ืึท ืฉืœื™ืกืœ ื’ืจื™ื™ืก ื•ื•ื™ื™ื ื™ืงืขืจ ื•ื•ื™ 1024 ื‘ื™ืฅ. ืึทื–ืึท ืฉืœื™ืกืœืขืŸ ื–ืขื ืขืŸ ืึทื ืกื™ื™ืฃ ืื•ืŸ ื–ืึธืœ ื ื™ื˜ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜. ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ GODEBUG rsa1024min=0 ืจื™ืกื˜ืึธืจื– ื“ื™ ืึทืœื˜ ื ืึทื˜ื•ืจ, ืึธื‘ืขืจ ื“ื™ Go ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ืจืขืงืึธืžืขื ื“ื™ืจืŸ ืฆื• ื˜ืึธืŸ ื“ืึธืก ื‘ืœื•ื™ื– ื•ื•ืขืŸ ื ื™ื™ื˜ื™ืง ืื•ืŸ ื‘ืœื•ื™ื– ืื™ืŸ ื˜ืขืกืฅ, ืœืžืฉืœ ื“ื•ืจืš ืึทื“ื™ื ื’ ื“ื™ ืฉื•ืจื” //go:debug rsa1024min=0 ืฆื• ื“ื™ ืคึผืจืึธื‘ืข ื˜ืขืงืข. ื ื™ื• ื‘ื™ื™ึทืฉืคึผื™ืœ GenerateKey ื’ื™ื˜ ืึทืŸ ื’ืจื™ื ื’ ืฆื• ื ื•ืฆืŸ ื ืึธืจืžืึทืœ 2024-ื‘ื™ืกืœ ืคึผืจื•ื‘ื™ืจืŸ ืฉืœื™ืกืœ.

ืขืก ืื™ื– ืื™ืฆื˜ ืกืึทืคืขืจ ืื•ืŸ ืžืขืจ ืขืคืขืงื˜ื™ื•ื• ืฆื• ืจื•ืคืŸ ืคึผืจื™ื•ื•ืึทื˜ืงื™ื™.ืคึผืจืขืงืึธืžืคึผื•ื˜ืข ืฆื• ืคึผืจื™ื•ื•ืึทื˜ืงื™ื™.ื•ื•ืึทืœื™ื“ืึทื˜ืข. ืคึผืจืขืงืึธืžืคึผื•ื˜ืข ืื™ื– ืื™ืฆื˜ ืคืึทืกื˜ืขืจ ืื™ืŸ ื“ืขื ื‘ื™ื™ึทื–ื™ื™ึทืŸ ืคื•ืŸ ื˜ื™ื™ืœ ืึธื ื’ืขืคื™ืœื˜ ืคึผืจืขืงืึทืžืคึผื™ื•ื˜ื™ื“ ื•ื•ืึทืœื•ืขืก, ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ ื•ื•ืขืŸ ื™ืงืกื˜ืจืึทืงื˜ื™ื ื’ ืึท ืฉืœื™ืกืœ ืคื•ืŸ JSON.

ื“ืขืจ ืคึผืขืงืœ ืื™ืฆื˜ ืคืืจื•ื•ืืจืคืŸ ืžืขืจ ืคืึทืจืงืจื™ืคึผืœื˜ ืฉืœื™ืกืœืขืŸ ืืคื™ืœื• ื•ื•ืขืŸ ื•ื•ืึทืœื™ื“ืึทื˜ืข ืื™ื– ื ื™ืฉื˜ ื’ืขืจื•ืคืŸ, ืื•ืŸ GenerateKey ืงืขื ืขืŸ ืื™ืฆื˜ ืฆื•ืจื™ืงืงื•ืžืขืŸ ื ื™ื™ึท ืขืจืจืึธืจืก ืคึฟืึทืจ ืฆืขื‘ืจืื›ืŸ ืจืึทื ื“ืึทืžื ืึทืก ืงื•ื•ืืœืŸ. ืคืขืœื“ืขืจ ืคึผืจื™ืžืขืก ะธ ืคึผืจืขืงืึทืžืคึผื™ื•ื˜ื™ื“ ืกื˜ืจืึทืงื˜ืฉืขืจื– ืคึผืจื™ื•ื•ืึทื˜ืงื™ื™ ื–ืขื ืขืŸ ืื™ืฆื˜ ื’ืขื ื™ืฆื˜ ืื•ืŸ ื•ื•ืึทืœืึทื“ื™ื™ื˜ืึทื“ ืืคื™ืœื• ื•ื•ืขืŸ ืขื˜ืœืขื›ืข ื•ื•ืึทืœื•ืขืก ื–ืขื ืขืŸ ืคืขืœื ื“ื™ืง. ืขืก ื–ืขื ืขืŸ ืื•ื™ืš ืขื ื“ืขืจื•ื ื’ืขืŸ ืฆื• ืงืจื™ืคึผื˜ืึธ / ืงืก509 ืคึฟืึทืจ ืคึผืึทืจืกื™ื ื’ ืื•ืŸ ื™ืงืกื˜ืจืึทืงื˜ื™ื ื’ RSA ืฉืœื™ืกืœืขืŸ, ื“ื™ืกืงืจื™ื™ื‘ื“ ืื•ื ื˜ืŸ.

SignPKCS1v15 ะธ VerifyPKCS1v15 ืื™ืฆื˜ ืฉื˜ื™ืฆืŸ SHA-512/224, SHA-512/256 ืื•ืŸ SHA-3.

GenerateKey ืื™ืฆื˜ ื ื™ืฆื˜ ืึท ื‘ื™ืกืœ ืึทื ื“ืขืจืฉ ืื•ืคึฟืŸ ืฆื• ื“ื–ืฉืขื ืขืจื™ื™ื˜ ื“ื™ ืคึผืจื™ื•ื•ืึทื˜ ืขืงืกืคึผืึธื ืขื ื˜ (Carmichael ืคึฟื•ื ืงืฆื™ืข ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ืขื•ืœืขืจ ืคึฟื•ื ืงืฆื™ืข). ื–ืขืœื˜ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื•ื•ืึธืก ื•ื™ืกื•ื•ื™ื™ื ื™ืง ืจื™ื“ื–ืฉืขื ืขืจื™ื™ื˜ ืฉืœื™ืกืœืขืŸ ืคึฟื•ืŸ ื‘ืœื•ื™ื– ื”ื•ื™ืคึผื˜ ื ื•ืžืขืจืŸ ืงืขืŸ ืคึผืจืึธื“ื•ืฆื™ืจืŸ ืคืึทืจืฉื™ื“ืขื ืข ืึธื‘ืขืจ ืงืึทืžืคึผืึทื˜ืึทื‘ืึทืœ ืจืขื–ื•ืœื˜ืึทื˜ืŸ.

ืึทืคึผืขืจื™ื™ืฉืึทื ื– ืื•ื™ืฃ ืฆื™ื‘ื•ืจ ืื•ืŸ ืคึผืจื™ื•ื•ืึทื˜ ืฉืœื™ืกืœืขืŸ ื–ืขื ืขืŸ ืื™ืฆื˜ ืึทืจื•ื™ืฃ ืฆื• ืฆื•ื•ื™ื™ ืžืึธืœ ืคืึทืกื˜ืขืจ ืื•ื™ืฃ ื•ื•ืึทืกื.

ืงืจื™ืคึผื˜ืึธ/ืฉืึท*

ืงืจื™ืคึผื˜ืึธ / ืกืึทื˜ืึทืœ

ื ื™ื• ืฉื˜ืจื™ืš ืžื™ื˜ ื“ืึทื˜ืึท ื™ื ื“ืขืคึผืขื ื“ืขื ื˜ ืฆื™ื™ื˜ ืึทืœืึทื•ื– ื“ืขืจ ื‘ืึทื ื™ืฆืขืจ ืฆื• ื•ื™ืกืคื™ืจืŸ ืึท ืคึฟื•ื ืงืฆื™ืข ืžื™ื˜ ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ-ืกืคึผืขืฆื™ืคื™ืฉ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ื™ื ื™ื™ื‘ืึทืœื“ ืึทื– ื–ื™ื›ืขืจ ืื™ื ืกื˜ืจื•ืงืฆื™ืขืก ื–ืขื ืขืŸ ื ื™ืฉื˜ ืคืืจืขื ื“ืขืจื˜ ืงืึธืจืขื•ื• ืฆื• ื“ื™ ืฆื™ื™ื˜ ืคื•ืŸ ื“ื™ ื“ืึทื˜ืŸ ื•ื•ืขืจื˜. ื“ืขื ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืฆื• ืขื ืฉื•ืจ ืึทื– ืงืึธื“ ื’ืขืฉืจื™ื‘ืŸ ืฆื• ืœื•ื™ืคืŸ ืื™ืŸ ืงืขืกื™ื™ื“ืขืจื“ื™ืง ืฆื™ื™ื˜ ืื™ื– ื ื™ืฉื˜ ืึธืคึผื˜ื™ืžื™ื–ืขื“ ื“ื•ืจืš ืคึผืจืึทืกืขืกืขืจ-ืžื“ืจื’ื” ืคืึทื ื’ืงืฉืึทื ื– ืึทื–ื•ื™ ืึทื– ืขืก ืœื•ื™ืคื˜ ืื™ืŸ ืึท ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ืฆื™ื™ื˜. ื“ืขืจื•ื•ื™ื™ึทืœ WithDataIndependentTiming ื ื™ืฆื˜ ื“ื™ PSTATE.DIT ื‘ื™ืกืœ ืื•ื™ืฃ arm64 ืื•ืŸ ื˜ื•ื˜ ื’ืึธืจื ื™ืฉื˜ ืื•ื™ืฃ ืึทืœืข ืื ื“ืขืจืข ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจื–. ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ GODEBUG dataindependenttiming = 1 ื™ื ื™ื™ื‘ืึทืœื– DIT ืžืึธื“ืข ืคึฟืึทืจ ื“ื™ ื’ืื ืฆืข Go ืคึผืจืึธื’ืจืึทื.

ืจืขื–ื•ืœื˜ืึทื˜ XORBytes ืžื•ื–ืŸ ืึธื•ื•ื•ืขืจืœืึทืคึผ ื’ืึธืจ ืึธื“ืขืจ ื ื™ืฉื˜ ืžื™ื˜ ื“ื™ ืึทืจื™ื™ึทื ืฉืจื™ื™ึทื‘. ื‘ื™ื– ืึทื”ืขืจ, ื“ื™ ื ืึทื˜ื•ืจ ืื™ื– ืึทื ืคื™ื™ื ื“ ืึทื ื“ืขืจืฉ, ื›ื•ื•ืขืจืึทื– ืื™ืฆื˜ XORBytes ื•ื•ืขื˜ ืคึผืึทื ื™ืง.

ืงืจื™ืคึผื˜ืึธ / ื˜ืœืก

ื“ืขืจ TLS ืกืขืจื•ื•ืขืจ ืื™ืฆื˜ ืฉื˜ื™ืฆื˜ ืขื ืงืจื™ืคึผื˜ื™ื“ ืงืœื™ืขื ื˜ ื”ืขืœื (ECH). ื“ืขื ืฉื˜ืจื™ืš ืงืขื ืขืŸ ื–ื™ื™ืŸ ืขื ื™ื™ื‘ืึทืœื“ ื“ื•ืจืš ืคึผืœืึธืžื‘ื™ืจืŸ ื“ื™ ืคืขืœื“. Config.EncryptedClientHelloKeys.

ื ื ื™ื™ึท ืคึผืึธืกื˜-ืงื•ื•ืึทื ื˜ื•ื ืฉืœื™ืกืœ ืขืงืกื˜ืฉืึทื ื’ืข ืžืขืงืึทื ื™ื–ืึทื X25519MLKEM768 ืื™ืฆื˜ ื’ืขืฉื˜ื™ืฆื˜ ืื•ืŸ ืขื ื™ื™ื‘ืึทืœื“ ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜ ื•ื•ืขืŸ Config.CurvePreferences ืื™ื– ื ื™ื™ืœ. ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ GODEBUG tlsmlkem=0 ืงืขืจื˜ ืคืขืœื™ืงื™ื™ึทื˜.

ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ ื™ืงืกืคึผืขืจืžืขื ืึทืœ X25519Kyber768Draft00 ืฉืœื™ืกืœ ื•ื•ืขืงืกืœ ืื™ื– ืึทื•ื•ืขืงื’ืขื ื•ืžืขืŸ.

ื“ืขืจ ืฉืœื™ืกืœ ื•ื•ืขืงืกืœ ืกื“ืจ ืื™ื– ืื™ืฆื˜ ื›ืึทื ื“ืึทืœื“ ืœืขื’ืึทืžืจืข ื“ื•ืจืš ื“ื™ ืงืจื™ืคึผื˜ืึธ / ื˜ืœืก ืคึผืขืงืœ. ืกื“ืจ Config.CurvePreferences ืื™ื– ืื™ืฆื˜ ืื™ื’ื ืึธืจื™ืจื˜ ืื•ืŸ ื“ื™ ืื™ื ื”ืึทืœื˜ ืื™ื– ื‘ืœื•ื™ื– ื’ืขื ื™ืฆื˜ ืฆื• ื‘ืึทืฉืœื™ืกืŸ ื•ื•ืึธืก ืฉืœื™ืกืœ ื™ืงืกื˜ืฉื™ื™ื ื“ื–ืฉื™ื– ืฆื• ืึทืจื™ื™ึทื ื ืขืžืขืŸ ื•ื•ืขืŸ ื“ื™ ืคืขืœื“ ืื™ื– ืึธื ื’ืขืคื™ืœื˜.

ื ื™ื™ึท ืคืขืœื“ ClientHelloInfo.Extensions ืจืฉื™ืžื•ืช ื“ื™ ืจืฉื™ืžื” ืคื•ืŸ ืคืึทืจืœืขื ื’ืขืจื•ื ื’ ื™ื“ืขื ื˜ื™ืคื™ืขืจืก ื‘ืืงื•ืžืขืŸ ืื™ืŸ ื“ื™ ืงืœื™ืขื ื˜ ื”ืขืœื ืึธื ื–ืึธื’. ื“ืึธืก ืงืขืŸ ื–ื™ื™ืŸ ื ื•ืฆื™ืง ืคึฟืึทืจ ืคื™ื ื’ื’ืขืจืคึผืจื™ื ื˜ื™ื ื’ TLS ืงืœื™ื™ืึทื ืฅ.

ืงืจื™ืคึผื˜ืึธ/ืงืก509

ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ GODEBUG x509sha1 ืื™ื– ืึทื•ื•ืขืงื’ืขื ื•ืžืขืŸ. Certification.Verify ื ื™ื˜ ืžืขืจ ืฉื˜ื™ืฆื˜ SHA-1 ื‘ืื–ื™ืจื˜ ืกื™ื’ื ืึทื˜ืฉืขืจื–.

OID ืื™ืฆื˜ ื™ืžืคึผืœืึทืžืึทื ืฅ ื™ื ื˜ืขืจืคื™ื™ืกื™ื– ืงืึธื“ื™ืจื•ื ื’.ื‘ื™ื ืึทืจื™ืึทืคึผืขื ื“ืขืจ ะธ ืงืึธื“ื™ืจื•ื ื’.ื˜ืขืงืกื˜ืึทืคึผืคึผืขื ื“ืขืจ.

ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ื‘ืึทื•ื•ื™ื™ึทื–ืŸ ืคึผืึธืœื™ื˜ื™ืง ืคืขืœื“ ืื™ื– ื’ืขื‘ื™ื˜ืŸ ืคื•ืŸ Certificate.PolicyIdentifiers ืื•ื™ืฃ Certificate.Policies. ื•ื•ืขืŸ ืคึผืึทืจืกื™ื ื’ ืกืขืจื˜ื™ืคื™ืงืึทืฅ, ื‘ื™ื™ื“ืข ืคืขืœื“ืขืจ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืคึผืึทืคึผื™ืึทืœื™ื™ื˜ืึทื“, ืึธื‘ืขืจ ื•ื•ืขืŸ ืงืจื™ื™ื™ื˜ื™ื ื’ ืึท ื‘ืึทื•ื•ื™ื™ึทื–ืŸ ืคึผืึธืœื™ื˜ื™ืง, ื–ื™ื™ ื•ื•ืขื˜ ื–ื™ื™ืŸ ื’ืขื ื•ืžืขืŸ ืคื•ืŸ ื“ื™ Certificate.Policies ืคืขืœื“ ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ Certificate.PolicyIdentifiers. ื“ืขื ืขื ื“ืขืจื•ื ื’ ืงืขื ืขืŸ ื–ื™ื™ืŸ ืจื™ื•ื•ืขืจื˜ื™ื“. GODEBUG ืกืขื˜ืึทืคึผ x509ื ื™ืฆืข ืคึผืึธืœื™ื˜ื™ืง = 0.

ืฉืึทืคึฟืŸ ืกืขืจื˜ื™ืคื™ืงืึทื˜ ื•ื•ืขื˜ ืื™ืฆื˜ ื“ื–ืฉืขื ืขืจื™ื™ื˜ ืึท ืกื™ืจื™ืึทืœ ื ื•ืžืขืจ ื ื™ืฆืŸ ืึท RFC 5280 ื’ืขื”ืึธืจื›ื™ืง ืื•ืคึฟืŸ ื•ื•ืขืŸ ื’ื™ื™ื˜ ืคืืจื‘ื™ื™ ืึท ืžื•ืกื˜ืขืจ ืคืขืœื“ Certificate.SerialNumber ื ื™ื™ืœ, ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ืงืจืึทืฉื™ื ื’.

Certificate.Verify ืื™ืฆื˜ ืฉื˜ื™ืฆื˜ ืคึผืึธืœื™ื˜ื™ืง ื•ื•ืึทืœืึทื“ื™ื™ืฉืึทืŸ ื•ื•ื™ ื“ื™ืคื™ื™ื ื“ ืื™ืŸ RFC 5280 ืื•ืŸ RFC 9618. ื ื™ื• ืคืขืœื“ VerifyOptions.CertificatePolicies ืงืขื ืขืŸ ื–ื™ื™ืŸ ื‘ืึทืฉื˜ื™ืžื˜ ืฆื• ืึท ืคึผืึทืกื™ืง ื’ืึทื ื’ ืคื•ืŸ ืคึผืึทืœืึทืกื™ื– OIDs. ื‘ืœื•ื™ื– ื‘ืึทื•ื•ื™ื™ึทื–ืŸ ืงื™ื™ื˜ืŸ ืžื™ื˜ ื’ื™ืœื˜ื™ืง ืคึผืึธืœื™ื˜ื™ืง ื’ืจืึทืคืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ืื•ืžื’ืขืงืขืจื˜ ืคึฟื•ืŸ Certificate.Verify.

MarshalPKCS8PrivateKey ืื™ืฆื˜ ืงืขืจื˜ ืึท ื˜ืขื•ืช ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ืจื™ื˜ืจื™ื•ื•ื™ื ื’ ืึท ืคืึทืจืงืจื™ืคึผืœื˜ RSA ืฉืœื™ืกืœ. (MarshalPKCS1PrivateKey ื”ืื˜ ืงื™ื™ืŸ ื˜ืขื•ืช ืฆื•ืจื™ืง ืื•ืŸ ื–ื™ื™ืŸ ื ืึทื˜ื•ืจ ื•ื•ืขืŸ ืคืึทืจืงืจื™ืคึผืœื˜ ืฉืœื™ืกืœืขืŸ ื–ืขื ืขืŸ ืฆื•ื’ืขืฉื˜ืขืœื˜ ื‘ืœื™ื™ื‘ื˜ ืึทื ื“ื™ืคื™ื™ื ื“.)

ParsePKCS1PrivateKey ะธ ParsePKCS8PrivateKey ืื™ืฆื˜ ื ื•ืฆืŸ ืื•ืŸ ื•ื•ืึทืœืึทื“ื™ื™ื˜ ืขื ืงืึธื•ื“ื™ื“ CRT ื•ื•ืึทืœื•ืขืก, ืึทื–ื•ื™ ืื™ืจ ืงืขื ืขืŸ ืึธืคึผื•ื•ืึทืจืคืŸ ืคืึทืจืงืจื™ืคึผืœื˜ RSA ืฉืœื™ืกืœืขืŸ ื•ื•ืึธืก ื–ืขื ืขืŸ ืคืจื™ืขืจ ืื ื’ืขื ื•ืžืขืŸ. ื‘ืึทื ื™ืฅ GODEBUG ืกืขื˜ื˜ื™ื ื’ืก x509rsacrt=0 ืงืขืจื˜ ืฆื• ืจื™ืงืึทืœืงื™ืึทืœื™ื™ืฉืึทืŸ ืคื•ืŸ ืงืจื˜ ื•ื•ืึทืœื•ืขืก.

ื“ื™ื‘ื•ื’ / ืฉืจืขื˜ืœ

ืคึผืขืงืœ ื“ื™ื‘ื•ื’ / ืฉืจืขื˜ืœ ืžื•ืกื™ืฃ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื”ืึทื ื“ืœื™ื ื’ ืกื™ืžื‘ืึธืœ ื•ื•ืขืจืกื™ืขืก ืื™ืŸ ื“ื™ื ืึทืžื™ืฉ ELF (ืขืงืกืขืงื•ื˜ืึทื‘ืœืข ืื•ืŸ ืœื™ื ืงืึทื‘ืœืข ืคึฟืึธืจืžืึทื˜ื™ืจื•ื ื’) ื˜ืขืงืขืก. ื ื™ื• ืื•ืคึฟืŸ ืคื™ืœืข.ื“ื™ื ืึทืžื™ืง ื•ื•ืขืจืกื™ืขืก ืงืขืจื˜ ืึท ืจืฉื™ืžื” ืคื•ืŸ ื“ื™ื ืึทืžื™ืฉ ื•ื•ืขืจืกื™ืขืก ื“ื™ืคื™ื™ื ื“ ืื™ืŸ ืึทืŸ ELF ื˜ืขืงืข. ื ื™ื• ืื•ืคึฟืŸ File.DynamicVersionNeeds ืงืขืจื˜ ืึท ืจืฉื™ืžื” ืคื•ืŸ ื“ื™ื ืึทืžื™ืฉ ื•ื•ืขืจืกื™ืขืก ืคืืจืœืื ื’ื˜ ื“ื•ืจืš ื“ืขื ELF ื˜ืขืงืข ื•ื•ืึธืก ื–ืขื ืขืŸ ื“ื™ืคื™ื™ื ื“ ืื™ืŸ ืื ื“ืขืจืข ELF ืึทื‘ื“ื–ืฉืขืงืฅ. ืฆื•ื ืกื•ืฃ, ื ื™ื™ึท ืคืขืœื“ืขืจ ืกื™ืžื‘ืึธืœ.ื”ืึทืกื•ื•ืขืจืกื™ืึธืŸ ะธ ืกื™ืžื‘ืึธืœ.ื•ื•ืขืจืกื™ืึธืŸื™ื ื“ืขืงืก ืึธื ื•ื•ื™ื™ึทื–ืŸ ื“ื™ ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹ื“ืขื ืกื™ืžื‘ืึธืœ.

ืกื™ืกื˜ืขื

ืฆื•ื•ื™ื™ ื ื™ื™ึทืข ื™ื ื˜ืขืจืคื™ื™ืกื™ื– ื˜ืขืงืกื˜ืึทืคึผืขื ื“ืขืจ ะธ ื‘ื™ื™ื ืขืจื™ ืึทืคึผืคึผืขื ื“ืขืจ ื–ืขื ืขืŸ ื‘ืึทืงืขื ืขื  ืฆื• ืœื™ื™ื’ืŸ ืึท ื˜ืขืงืกื˜ ืึธื“ืขืจ ื‘ื™ื™ื ืขืจื™ ืคืึทืจื˜ืจืขื˜ื•ื ื’ ืคื•ืŸ ืึท ื›ื™ื™ืคืขืฅ ืฆื• ืึท ื‘ื™ื™ื˜ ืจืขืคื˜ืœ. ื“ื™ ื™ื ื˜ืขืจืคื™ื™ืกื™ื– ืฆื•ืฉื˜ืขืœืŸ ื“ื™ ื–ืขืœื‘ืข ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ ื•ื•ื™ ื˜ืขืงืกื˜ ืžืึทืจืฉืึทืœืขืจ ะธ ื‘ื™ื™ื ืขืจื™ ืžืึทืจืฉืึทืœืขืจ, ืึธื‘ืขืจ ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ืึทืœืึทืงื™ื™ื˜ื™ื ื’ ืึท ื ื™ื™ึทืข ืจืขืคื˜ืœ ื™ืขื“ืขืจ ืžืึธืœ, ื–ื™ื™ ืฆื•ืœื™ื™ื’ืŸ ื“ืึทื˜ืŸ ื’ืœื™ื™ึทืš ืฆื• ืึท ื™ื’ื–ื™ืกื˜ื™ื ื’ ืจืขืคื˜ืœ. ื“ื™ ื™ื ื˜ืขืจืคื™ื™ืกื™ื– ื–ืขื ืขืŸ ื“ืขืจื•ื•ื™ื™ึทืœ ื™ืžืคึผืœืึทืžืขื ืึทื“ ื“ื•ืจืš ื ืึธืจืžืึทืœ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ื˜ื™ื™ืคึผืก ื•ื•ืึธืก ืฉื•ื™ืŸ ื™ืžืคึผืœืึทืžืขื ืึทื“ TextMarshaler ืื•ืŸ / ืึธื“ืขืจ BinaryMarshaler.

ืงืึธื“ื™ืจื•ื ื’ / ื“ื–ืฉืกืึธืŸ

ื•ื•ืขืŸ ืื™ืจ ื‘ื•ื™ืขืŸ, ืึท ืกื˜ืจื•ืงื˜ื•ืจ ืคืขืœื“ ืžื™ื˜ ื“ื™ ื ื™ื™ึทืข ืึธืžื™ื˜ื–ืขืจืึธ ืึธืคึผืฆื™ืข ืื™ืŸ ื“ื™ ืกื˜ืจื•ืงื˜ื•ืจ ืคืขืœื“ ืงื•ื•ื™ื˜ืœ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืื™ื‘ืขืจื’ืขื”ื™ืคึผืขืจื˜ ืื•ื™ื‘ ื“ื™ ื•ื•ืขืจื˜ ืื™ื– ื ื•ืœ. ืื•ื™ื‘ ื“ื™ ืคืขืœื“ ื˜ื™ืคึผ ื”ืื˜ ืึทืŸ IsZero () ื‘ืึธืึธืœ ืื•ืคึฟืŸ, ืขืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ื’ืขื ื™ืฆื˜ ืฆื• ื‘ืึทืฉืœื™ืกืŸ ืื•ื™ื‘ ื“ื™ ื•ื•ืขืจื˜ ืื™ื– ื ื•ืœ. ืึทื ื“ืขืจืฉ ื“ื™ ื•ื•ืขืจื˜ ื•ื•ืขื˜ ื–ื™ื™ืŸ ื ื•ืœ ืื•ื™ื‘ ืขืก ื ื•ืœ ื•ื•ืขืจื˜ ืคึฟืึทืจ ื–ื™ื™ึทืŸ ื˜ื™ืคึผ. ื“ื™ ืึธืžื™ื˜ื–ืขืจืึธ ืคืขืœื“ ืงื•ื•ื™ื˜ืœ ืื™ื– ืงืœื™ื ืขืจ ืื•ืŸ ื•ื•ื™ื™ื ื™ืงืขืจ ื˜ืขื•ืช-ืคึผืจืึธื ืข ื•ื•ื™ ืึธืžื™ื˜ืขืžืคึผื˜ื™ ื•ื•ืขืŸ ื“ื™ ื›ื•ื•ื ื” ืื™ื– ืฆื• ืคืึทืจืœืึธื–ืŸ ื ืึทืœ ื•ื•ืึทืœื•ืขืก. ืื™ืŸ ื‘ืึทื–ื•ื ื“ืขืจ, ื ื™ื˜ ืขื ืœืขืš ืึธื•ืžื™ื˜ืขืžืคึผื˜ื™, ืึธื•ืžื™ืฆืขืจืึธ ืœื™ื™ืฅ ื–ืขืจืึธืก ืฆื™ื™ื˜.ืฆื™ื™ื˜ ื•ื•ืึทืœื•ืขืก, ื•ื•ืึธืก ืื™ื– ืึท ืคึผืจืึธืกื˜ ืžืงื•ืจ ืคื•ืŸ ืคึผืจืึธื‘ืœืขืžืก.

ืื•ื™ื‘ ื‘ื™ื™ื“ืข ืึธื•ืžื™ื˜ืขืžืคึผื˜ื™ ืื•ืŸ ืึธืžื™ื˜ื–ืขืจืึธ ื–ืขื ืขืŸ ืกืคึผืขืกื™ืคื™ืขื“, ื“ื™ ืคืขืœื“ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืื™ื‘ืขืจื’ืขื”ื™ืคึผืขืจื˜ ืื•ื™ื‘ ื“ื™ ื•ื•ืขืจื˜ ืื™ื– ืœื™ื™ื“ื™ืง ืึธื“ืขืจ ื ื•ืœ (ืึธื“ืขืจ ื‘ื™ื™ื“ืข).

UnmarshalTypeError.Field ืื™ืฆื˜ ื™ื ืงืœื•ื“ื– ื’ืขื‘ื•ื™ื˜-ืื™ืŸ ืกื˜ืจืึทืงื˜ืฉืขืจื– ืฆื• ืฆื•ืฉื˜ืขืœืŸ ืžืขืจ ื“ื™ื˜ื™ื™ืœื“ ื˜ืขื•ืช ืึทืจื˜ื™ืงืœืขืŸ.

ื’ื™ื™ืŸ / ื˜ื™ื™ืคึผืก

ืึทืœืข ื’ื™ื™ืŸ / ื˜ื™ื™ืคึผืก ื“ืึทื˜ืŸ ืกื˜ืจืึทืงื˜ืฉืขืจื– ื•ื•ืึธืก ื•ื™ืกืฉื˜ืขืœืŸ ืกื™ืงื•ื•ืึทื ืกื™ื– ืคื•ืŸ ืื•ืคึฟืŸ ืคึผืขืจื–, ื•ื•ื™ Len () int ืื•ืŸ At (int) T, ืื™ืฆื˜ ืื•ื™ืš ื”ืึธื‘ืŸ ืžืขื˜ื”ืึธื“ืก ื•ื•ืึธืก ืฆื•ืจื™ืงืงื•ืžืขืŸ ื™ื˜ืขืจื™ื™ื˜ืขืจื–, ืึทืœืึทื•ื™ื ื’ ืกื™ืžืคึผืœืขืจ ืงืึธื“ ื•ื•ื™ ื“ืึธืก:

ืคึผืึทืจืึทืžืก:= ืคื .ื˜ื™ืคึผ.(*ื˜ื™ืคึผืขืก.ืกื™ื’ื ืึทื˜ื•ืจืข). ืคึผืึทืจืึทืžืก() ืคึฟืึทืจ ืื™ืš:= 0; ืื™ืš < ืคึผืึทืจืึทืžืก.ืœืขืŸ (); ืื™ืš ++ {ื ื•ืฆืŸ (ืคึผืึทืจืึทืžื–. ื‘ื™ื™ (ืื™ืš)) }

ืื•ื™ืฃ ื“ืขื:

ืคึฟืึทืจ ืคึผืึทืจืึทื:= ืงื™ื™ื˜ fn.Signature().Params().Variables() {ื ื•ืฆืŸ(ืคึผืึทืจื)}

ืžืขื˜ื”ืึธื“ืก: Interface.EmbeddedTypes Interface.ExplicitMethods ืฆื•ื‘ื™ื ื“.ืžืขื˜ืึธื“ืก ืžืขื˜ืึทื“ืกืขื˜.ืžืขื˜ืึธื“ืก ื’ืขื”ื™ื™ืกืŸ.ืžืขื˜ืึธื“ืก ืคืึทืจื ืขื.ืงื™ื ื“ืขืจ ืกื˜ืจื•ืงื˜ื•ืจ.ืคื™ืœื“ ื˜ื•ืคึผืœืข.ื•ื•ืึทืจื™ืึทื‘ืœืขืก TypeList.Types TypeParamList.TypeParams ื™ื•ื ื™ืึทืŸ.ื˜ืขืจืžืก

ื”ืึทืฉ /*

ืงืœืึธืฅ / ืกืœืึธื’

ื ื™ื™ึท DiscardHandler ืื™ื– ืึท ื”ืึทื ื“ืœืขืจ ื•ื•ืึธืก ืื™ื– ืงื™ื™ื ืžืึธืœ ืขื ื™ื™ื‘ืึทืœื“ ืื•ืŸ ืฉื˜ืขื ื“ื™ืง ื“ื™ืกืึทืจื“ื– ื–ื™ื™ึทืŸ ืจืขื–ื•ืœื˜ืึทื˜.

ื’ืœื™ื™ึทืš ะธ LevelVar ืื™ืฆื˜ ื™ื ืกื˜ืจื•ืžืขื ื˜ ื“ื™ ืฆื•ื‘ื™ื ื“ ืงืึธื“ื™ืจื•ื ื’.ื˜ืขืงืกื˜ืึทืคึผืคึผืขื ื“ืขืจ.

ืžืื˜ืขืžืื˜ื™ืง /*

ื ืขืฅ

ListenCondig ืื™ืฆื˜ ื ื™ืฆื˜ MPTCP ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜ ืื•ื™ืฃ ืกื™ืกื˜ืขืžืขืŸ ื•ื•ื• ืขืก ืื™ื– ื’ืขืฉื˜ื™ืฆื˜ (ื“ืขืจื•ื•ื™ื™ึทืœ ื‘ืœื•ื™ื– ืœื™ื ื•ืงืก).

IP ืื™ืฆื˜ ื™ืžืคึผืœืึทืžืึทื ืฅ ื“ื™ ืฆื•ื‘ื™ื ื“ ืงืึธื“ื™ืจื•ื ื’.ื˜ืขืงืกื˜ืึทืคึผืคึผืขื ื“ืขืจ.

ื ืขืฅ/ื”ื˜ื˜ืคึผ

ื“ื™ ืจื™ืกื˜ืจื™ืงืฉืึทืŸ ื”ืื˜ ื’ืขื‘ื™ื˜ืŸ ืึทืจื™ื‘ืขืจืคื™ืจืŸ ืฆื• ื“ื™ ื‘ืืงื•ืžืขืŸ 1xx ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ืจืขืกืคึผืึธื ืกืขืก ืื™ืŸ ืขื ื˜ืคืขืจ ืฆื• ื“ื™ ื‘ืงืฉื”. ื‘ื™ื– ืึทื”ืขืจ, ื“ืึธืก ื•ื•ืึธืœื˜ ื”ืึทืœื˜ืŸ ื“ื™ ื‘ืขื˜ืŸ ืื•ืŸ ืฆื•ืจื™ืงืงื•ืžืขืŸ ืึท ื˜ืขื•ืช ื ืึธืš ื‘ืืงื•ืžืขืŸ ืžืขืจ ื•ื•ื™ 5 1xx ืจืขืกืคึผืึธื ืกืขืก. ื“ืขื ืื™ืฆื˜ ื‘ืœื•ื™ื– ืงืขืจื˜ ืึท ื˜ืขื•ืช ืื•ื™ื‘ ื“ื™ ื’ืึทื ืฅ ื’ืจื™ื™ืก ืคื•ืŸ ืึทืœืข 1xx ืจืขืกืคึผืึธื ืกืขืก ื™ืงืกื™ื“ื– ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ Transport.MaxResponseHeaderBytes.

ืื•ื™ืš, ื•ื•ืขืŸ ืึท ื‘ืงืฉื” ื”ืื˜ ืึท ื˜ืจืึทืงื™ื ื’ ืคืึทืจื˜ืฉืขืคึผืขืŸ ื ืขืฅ/ื”ื˜ื˜ืคึผ/ื”ื˜ื˜ืคึผื˜ืจืึทืกืข.ืงืœื™ืขื ื˜ื˜ืจืึทืกืข.ื’ืึธื˜1ืงืกืงืกืจืขืกืคึผืึธื ืก, ืื™ืฆื˜ ืขืก ืื™ื– ืงื™ื™ืŸ ืฉื™ืขื•ืจ ืื•ื™ืฃ ื“ื™ ื’ืึทื ืฅ ื ื•ืžืขืจ ืคื•ืŸ ืขื ื˜ืคึฟืขืจืก 1xx. ื“ื™ Got1xxResponse ืคืึทืจื˜ืฉืขืคึผืขืŸ ืงืขื ืขืŸ ืฆื•ืจื™ืงืงื•ืžืขืŸ ืึท ื˜ืขื•ืช ืฆื• ื”ืึทืœื˜ืŸ ื“ื™ ื‘ืขื˜ืŸ.

ืึทืจื™ื‘ืขืจืคื™ืจืŸ ะธ ืกืขืจื•ื•ื™ืจืขืจ ืื™ืฆื˜ ื”ืึธื‘ืŸ ืึท HTTP2 ืคืขืœื“ ื•ื•ืึธืก ืึทืœืึทื•ื– ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืคื•ืŸ HTTP/2 ืคึผืจืึธื˜ืึธืงืึธืœ ืกืขื˜ื˜ื™ื ื’ืก.

ื ื™ื™ืข ืคืขืœื“ืขืจ ืกืขืจื•ื•ื™ืจืขืจ.ืคึผืจืึธื˜ืึธืงืึธืœืก ะธ ื˜ืจืึทื ืกืคึผืึธืจื˜.ืคึผืจืึธื˜ืึธืงืึธืœืก ืฆื•ืฉื˜ืขืœืŸ ืึท ืคึผืฉื•ื˜ ื•ื•ืขื’ ืฆื• ืงืึทื ืคื™ื’ื™ืขืจ ื•ื•ืึธืก ื”ื˜ื˜ืคึผ ืคึผืจืึธื˜ืึธืงืึธืœืก ื“ืขืจ ืกืขืจื•ื•ืขืจ ืึธื“ืขืจ ืงืœื™ืขื ื˜ ื ื™ืฆื˜.

ื“ืขืจ ืกืขืจื•ื•ืขืจ ืื•ืŸ ืงืœื™ืขื ื˜ ืงืขื ืขืŸ ื–ื™ื™ืŸ ืงืึทื ืคื™ื’ื™ืขืจื“ ืฆื• ืฉื˜ื™ืฆืŸ ืึทื ืขื ืงืจื™ืคึผื˜ื™ื“ ื”ื˜ื˜ืคึผ / 2 ืงืึทื ืขืงืฉืึทื ื–.

ื•ื•ืขืŸ ืกืขืจื•ื•ื™ืจืขืจ.ืคึผืจืึธื˜ืึธืงืึธืœืก ื›ึผื•ืœืœ UnencrypterHTTP2, ื“ืขืจ ืกืขืจื•ื•ืขืจ ื•ื•ืขื˜ ืึธื ื ืขืžืขืŸ ื”ื˜ื˜ืคึผ / 2 ืงืึทื ืขืงืฉืึทื ื– ืื•ื™ืฃ ืึทื ืขื ืงืจื™ืคึผื˜ื™ื“ ืคึผืึธืจืฅ. ื“ืขืจ ืกืขืจื•ื•ืขืจ ืงืขื ืขืŸ ืึธื ื ืขืžืขืŸ ื‘ื™ื™ื“ืข ื”ื˜ื˜ืคึผ / 1 ืื•ืŸ ืึทื ืขื ืงืจื™ืคึผื˜ื™ื“ ื”ื˜ื˜ืคึผ / 2 ืื•ื™ืฃ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืคึผืึธืจื˜.

ื•ื•ืขืŸ ื˜ืจืึทื ืกืคึผืึธืจื˜.ืคึผืจืึธื˜ืึธืงืึธืœืก ื›ึผื•ืœืœ UnencryptedHTTP2 ืื•ืŸ ื˜ื•ื˜ ื ื™ืฉื˜ ืึทื ื˜ื”ืึทืœื˜ืŸ HTTP1, ื“ื™ ืึทืจื™ื‘ืขืจืคื™ืจืŸ ื•ื•ืขื˜ ื ื•ืฆืŸ ืึทื ืขื ืงืจื™ืคึผื˜ืขื“ ื”ื˜ื˜ืคึผ / 2 ืคึฟืึทืจ ืึทื“ืจืขืกืขืก http://. ืื•ื™ื‘ ืึท ืึทืจื™ื‘ืขืจืคื™ืจืŸ ืื™ื– ืงืึทื ืคื™ื’ื™ืขืจื“ ืฆื• ื ื•ืฆืŸ ื‘ื™ื™ื“ืข ื”ื˜ื˜ืคึผ / 1 ืื•ืŸ ืึทื ืขื ืงืจื™ืคึผื˜ื™ื“ ื”ื˜ื˜ืคึผ / 2, ืขืก ื•ื•ืขื˜ ื ื•ืฆืŸ ื”ื˜ื˜ืคึผ / 1.

ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืึทื ืขื ืงืจื™ืคึผื˜ื™ื“ ื”ื˜ื˜ืคึผ / 2 ื ื™ืฆื˜ "HTTP / 2 ืžื™ื˜ ืคึฟืึธืจื•ื•ืขืจื˜ืก ืœืขืจื ืขืŸ" (RFC 9113, ืึธืคึผื˜ื™ื™ืœื•ื ื’ 3.3). ื“ื™ ื“ื™ืคึผืจื™ืฉื™ื™ื™ื˜ื™ื“ ื›ืขื“ืขืจ "ื•ืคึผื’ืจืึทื“ืข: h2c" ืื™ื– ื ื™ืฉื˜ ื’ืขืฉื˜ื™ืฆื˜.

ื ืขืฅ / ื ืขืฅ

Addr, ืึทื“ืจืคึผืึธืจื˜ ะธ ืคึผืจืขืคื™ืงืก ืื™ืฆื˜ ื™ื ืกื˜ืจื•ืžืขื ื˜ ื™ื ื˜ืขืจืคื™ื™ืกื™ื– ืงืึธื“ื™ืจื•ื ื’.ื‘ื™ื ืึทืจื™ืึทืคึผืขื ื“ืขืจ ะธ ืงืึธื“ื™ืจื•ื ื’.ื˜ืขืงืกื˜ืึทืคึผืคึผืขื ื“ืขืจ.

ื ืขืฅ / URL

URL ืื™ืฆื˜ ืื•ื™ืš ื™ืžืคึผืœืึทืžืึทื ืฅ ื“ื™ ืฆื•ื‘ื™ื ื“ ืงืึธื“ื™ืจื•ื ื’.ื‘ื™ื ืึทืจื™ืึทืคึผืขื ื“ืขืจ.

OS / ื‘ืึทื ื™ืฆืขืจ

ืื•ื™ืฃ Windows ืงืจืึทื ื˜ ืงืขื ืขืŸ ืื™ืฆื˜ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืื™ืŸ Windows Nano Server. ื“ื™ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืื™ื– ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื˜ ืฆื• ื•ื™ืกืžื™ื™ื“ืŸ ื ื™ืฆืŸ ืคืึทื ื’ืงืฉืึทื ื– ืคื•ืŸ ื“ื™ NetApi32 ื‘ื™ื‘ืœื™ืึธื˜ืขืง, ื•ื•ืึธืก ืื™ื– ืคืขืœื ื“ื™ืง ืคื•ืŸ ื ืึทื ืึธ ืกืขืจื•ื•ื™ืจืขืจ.

ืื•ื™ืฃ Windows ืงืจืึทื ื˜, ืงื•ืง ืึทืจื•ื™ืฃ ะธ LookupId ืื™ืฆื˜ ืฉื˜ื™ืฆื˜ ื“ื™ ืคืืœื’ืขื ื“ืข ื’ืขื‘ื•ื™ื˜-ืื™ืŸ ื‘ืึทื ื™ืฆืขืจ ืกืขืจื•ื•ื™ืก ืึทืงืึทื•ื ืฅ:

  • NT AUTORITYSYSTEM
  • NT ืื•ื™ื˜ืึธืจื™ื˜ืขื˜ ืœืึธืงืึทืœ ืกืขืจื•ื•ื™ืก
  • NT AUTORITYNETWORK SERVICE

ืื•ื™ืฃ Windows ืงืจืึทื ื˜ ืื™ื– ื’ืขื•ื•ืขืŸ ื‘ืื˜ื™ื™ื˜ื™ืง ืกืคึผื™ื“ื– ื•ื•ืขืŸ ื“ืขืจ ืงืจืึทื ื˜ ื‘ืึทื ื™ืฆืขืจ ืื™ื– ื“ื–ืฉื•ื™ื ื“ ืฆื• ืึท ืคึผืึทืžืขืœืขืš ืคืขืœื“, ื•ื•ืึธืก ืื™ื– ืึท ืคึผืจืึธืกื˜ ืคืึทืœ ืคึฟืึทืจ ืคื™ืœืข ืคึฟื™ืจืžืข ื™ื•ื–ืขืจื–. ื“ื™ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืคื•ืŸ ื“ื™ ื ื™ื™ึทืข ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืื™ื– ืื™ืฆื˜ ืื™ืŸ ื“ืขืจ ืกื“ืจ ืคื•ืŸ ืžื™ืœื™ืกืขืงืึทื ื“ื–, ืงืึทืžืคึผืขืจื“ ืžื™ื˜ ื“ื™ ืคืจื™ืขืจื“ื™ืงืข ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ, ื•ื•ืึธืก ืงืขืŸ ื ืขืžืขืŸ ืขื˜ืœืขื›ืข ืกืขืงื•ื ื“ืขืก, ืืคื™ืœื• ืžื™ื ื•ื˜, ืฆื• ืคืึทืจืขื ื“ื™ืงืŸ.

ืื•ื™ืฃ Windows ืงืจืึทื ื˜ ืื™ืฆื˜ ืงืขืจื˜ ื“ืขื ืคึผืจืึธืฆืขืก ื‘ืึทื–ื™ืฆืขืจ ื‘ืึทื ื™ืฆืขืจ ื•ื•ืขืŸ ื“ื™ ืงืจืึทื ื˜ ืคืึธื“ืขื ืื™ื– ื™ืžืคึผืขืจืกืึทื ื™ื™ื˜ื™ื ื’ ืืŸ ืื ื“ืขืจ ื‘ืึทื ื™ืฆืขืจ. ื‘ื™ื– ืึทื”ืขืจ, ื“ืึธืก ื”ืึธื˜ ื’ืขืคึฟื™ืจื˜ ืึท ื˜ืขื•ืช.

ืจืขื’ืขืงืกืคึผ

ืจืขื’ืขืงืกืคึผ ืื™ืฆื˜ ื™ืžืคึผืœืึทืžืึทื ืฅ ื“ื™ ืฆื•ื‘ื™ื ื“ ืงืึธื“ื™ืจื•ื ื’.ื˜ืขืงืกื˜ืึทื“ืึทืคึผื˜ืขืจ.

ืจื•ื ื˜ื™ืžืข

ืคื•ื ืงืฆื™ืึธื ื™ืจืŸ GOROOT ืื™ื– ืื™ืฆื˜ ื“ื™ืคึผืจื™ืฉื™ื™ื™ื˜ื™ื“. ืื™ืŸ ื ื™ื™ึทืขืจ ื™ื ื•ื•ื™ื™ืจืึทื ืžืึทื ืฅ, ืื™ืจ ื–ืึธืœ ื‘ืขืกืขืจ ื ื•ืฆืŸ ื“ื™ ืกื™ืกื˜ืขื ื“ืจืš ืฆื• ื“ืขืคื™ื ื™ืจืŸ ื“ื™ "ื’ื™ื™ืŸ" ื‘ื™ื™ื ืขืจื™, ืื•ืŸ ื ื•ืฆืŸ go env GOROOT ืฆื• ื“ืขืคื™ื ื™ืจืŸ GOROOT.

ืกื˜ืจื™ื ื’ืก

ืคึผืขืงืœ ืกื˜ืจื™ื ื’ืก ืžื•ืกื™ืฃ ืขื˜ืœืขื›ืข ืคืึทื ื’ืงืฉืึทื ื– ืคึฟืึทืจ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ื™ื˜ืขืจื™ื™ื˜ืขืจื–:

  • ืฉื•ืจื•ืช ืงืขืจื˜ ืึทืŸ ื™ื˜ืขืจืึทื˜ืึธืจ ืื™ื‘ืขืจ ื ื™ื™ึทืœื™ื ืข-ืฆืขืฉื™ื™ื“ืŸ ืฉื•ืจื•ืช ืื™ืŸ ืึท ืฉื˜ืจื™ืงืœ.
  • SplitSeq ืงืขืจื˜ ืึทืŸ ื™ื˜ืขืจืึทื˜ืึธืจ ืื™ื‘ืขืจ ืึทืœืข ืกื•ื‘ืกื˜ืจื™ื ื’ืก ืคื•ืŸ ืึท ืฉื˜ืจื™ืงืœ ืืคื’ืขืฉื™ื™ื“ื˜ ื“ื•ืจืš ืึท ืกืขืคึผืึทืจืึทื˜ืึธืจ.
  • SplitAfterSeq ืงืขืจื˜ ืึทืŸ ื™ื˜ืขืจืึทื˜ืึธืจ ืื™ื‘ืขืจ ืกื•ื‘ืกื˜ืจื™ื ื’ืก ืคื•ืŸ ืึท ืฉื˜ืจื™ืงืœ, ืฉืคึผืึทืœื˜ืŸ ื ืึธืš ื™ืขื“ืขืจ ืคึผืึทืกื™ืจื•ื ื’ ืคื•ืŸ ื“ื™ ืกืขืคึผืึทืจืึทื˜ืึธืจ.
  • FieldsSeq ืงืขืจื˜ ืึทืŸ ื™ื˜ืขืจืึทื˜ืึธืจ ืื™ื‘ืขืจ ืกื•ื‘ืกื˜ืจื™ื ื’ืก ืคื•ืŸ ืึท ืฉื˜ืจื™ืงืœ ืึทืจื•ื ืกื™ืงื•ื•ืึทื ืกื™ื– ืคื•ืŸ ื•ื•ื™ื™ื˜ืกืคึผื™ื™ืก ืื•ืชื™ื•ืช, ื•ื•ื™ ื“ื™ืคื™ื™ื ื“ืื•ื ื™ืงืึธื“.ื™ืกืคึผืึทืกืข
  • FieldsFuncSeq ืงืขืจื˜ ืึทืŸ ื™ื˜ืขืจืึทื˜ืึธืจ ืื™ื‘ืขืจ ืกื•ื‘ืกื˜ืจื™ื ื’ืก ืคื•ืŸ ืฉื˜ืจื™ืงืœ ืึทืจื•ื ืกื™ืงื•ื•ืึทื ืกื™ื– ืคื•ืŸ ืื•ื ื™ืงืึธื“ ืงืึธื“ ื•ื•ื™ื™ื–ื˜ ื•ื•ืึธืก ื‘ืึทืคืจื™ื“ื™ืงืŸ ืึท ืคึผืจืขื“ื™ืงืึทื˜.

ืกื™ื ืง

ื™ืžืคึผืœืขืžืขื ื˜ืึทื˜ื™ืึธืŸ ืกื™ื ืง.ืžืึทืคึผ ืื™ื– ื˜ืฉื™ื™ื ื“ื–ืฉื“ ืฆื• ืคึฟืึทืจื‘ืขืกืขืจืŸ ืคืึธืจืฉื˜ืขืœื•ื ื’, ืกืคึผืขืฆื™ืขืœ ืคึฟืึทืจ ืขื ื“ืขืจื•ื ื’ืขืŸ ืื™ืŸ ื•ื•ืขืจื˜ืขืจื‘ื•ืš. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ื“ื™ืกื“ื–ืฉื•ื™ื ื˜ ืกืขื˜ ืขื ื“ืขืจื•ื ื’ ืงืึทื ื˜ืขื ืฉืึทืŸ ืื™ื– ื•ื•ื™ื™ื ื™ืงืขืจ ืžืกืชึผืžื ืื™ืŸ ื’ืจื•ื™ืก ื“ื™ืงืฉืึทื ืขืจื™ื–, ืื•ืŸ ืขืก ื ื™ื˜ ืžืขืจ ืจื™ืงื•ื•ื™ื™ืขืจื– ื‘ื•ื™ืขืŸ-ืึทืจื•ื™ืฃ ืฆื™ื™ื˜ ืฆื• ื“ืขืจื’ืจื™ื™ื›ืŸ ื ื™ื“ืขืจื™ืง ืงืึทื ื˜ืขื ืฉืึทืŸ ื•ื•ืขืจื˜ืขืจื‘ื•ืš ืžืึทืกืข.

ืื•ื™ื‘ ืื™ืจ ื˜ืจืขืคืŸ ืงื™ื™ืŸ ืคืจืื‘ืœืขืžืขืŸ, ืฉื˜ืขืœืŸ GOEXPERIMENT=nosynchashtriemap ื‘ืขืฉืึทืก ื‘ื•ื™ืขืŸ ืฆื• ืฆื•ืจื™ืงืงื•ืžืขืŸ ืฆื• ื“ื™ ืึทืœื˜ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืื•ืŸ ื‘ื™ื˜ืข ืคึผืœืึธืžื‘ื™ืจืŸ ื“ื™ ืคึผืจืึธื‘ืœืขื ืคืึธืจืขื.

ื˜ืขืกื˜ื™ื ื’

ื ื™ื™ืข ืžืขื˜ืื“ืŸ ื˜ื™ ืงืึธื ื˜ืขืงืกื˜ ะธ ื‘.ืงืึธื ื˜ืขืงืกื˜ ืฆื•ืจื™ืงืงื•ืžืขืŸ ืึท ืงืึธื ื˜ืขืงืกื˜ ื•ื•ืึธืก ืื™ื– ืึทื•ื•ืขืงื’ืขื ื•ืžืขืŸ ื ืึธืš ื“ื™ ืคึผืจืึธื‘ืข ืงืึทืžืคึผืœื™ืฅ ืื•ืŸ ืื™ื™ื“ืขืจ ื“ื™ ืคึผืจืึธื‘ืข ืงืœื™ื ืึทืคึผ ืคืึทื ื’ืงืฉืึทื ื– ื–ืขื ืขืŸ ืขืงืกืึทืงื™ื•ื˜ืึทื“.

ื ื™ื™ืข ืžืขื˜ืื“ืŸ ื˜.ื˜ืฉื“ื™ืจ ะธ ื‘.ื˜ืฉื“ื™ืจ ืงืขื ืขืŸ ื•ื•ืขืจืŸ ื’ืขื ื•ืฆื˜ ืฆื• ื˜ื•ื™ืฉืŸ ื“ื™ ืึทืจื‘ืขื˜ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ืคึฟืึทืจ ื“ืขืจ ื’ืขื“ื•ื™ืขืจ ืคื•ืŸ ืึท ืคึผืจืึธื‘ืข ืึธื“ืขืจ ื‘ืขื ื˜ืฉืžืึทืจืง.

ื˜ืขืงืกื˜ / ืžื•ืกื˜ืขืจ

ื˜ืขืžืคึผืœืึทื˜ืขืก ืื™ืฆื˜ ืฉื˜ื™ืฆืŸ ืงื™ื™ื˜-ืื™ื‘ืขืจ-ืคื•ื ืง ืื•ืŸ ืงื™ื™ื˜-ืื™ื‘ืขืจ-ื™ื ื˜.

ืฆื™ื™ึทื˜

ืฆื™ื™ึทื˜ ืื™ืฆื˜ ื™ืžืคึผืœืึทืžืึทื ืฅ ื™ื ื˜ืขืจืคื™ื™ืกื™ื– ืงืึธื“ื™ืจื•ื ื’.ื‘ื™ื ืึทืจื™ืึทืคึผืขื ื“ืขืจ ะธ ืงืึธื“ื™ืจื•ื ื’.ื˜ืขืงืกื˜ืึทืคึผืคึผืขื ื“ืขืจ.

ืคึผืึธืจืฅ

ืœื™ื ื•ืงืก

ื•ื•ื™ ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ืžื•ื“ื™ืข ืœื•ื™ื˜ ื“ื™ Go 1.23 ืžืขืœื“ื•ื ื’ ื”ืขืจื•ืช, Go 1.24 ืจื™ืงื•ื•ื™ื™ืขืจื– ืœื™ื ื•ืงืก ืงืขืจืŸ ื•ื•ืขืจืกื™ืข 3.2 ืึธื“ืขืจ ืฉืคึผืขื˜ืขืจ.

ื“ืึทืจื•ื•ื™ืŸ

Go 1.24 ืื™ื– ื“ื™ ืœืขืฆื˜ืข ืžืขืœื“ื•ื ื’ ื•ื•ืึธืก ื•ื•ืขื˜ ืœื•ื™ืคืŸ ืื•ื™ืฃ macOS 11 Big Sur. ื’ื™ื™ืŸ 1.25 ื•ื•ืขื˜ ื“ืึทืจืคืŸ macOS 12 Monterey ืึธื“ืขืจ ืฉืคึผืขื˜ืขืจ.

ื•ื•ืขื‘ืึทืกืกืขืžื‘ืœื™

ื“ื™ ื’ื™ื™:wasmexport ืงืึทืžืคึผื™ื™ืœืขืจ ื“ื™ืจืขืงื˜ื™ื•ื• ืื™ื– ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฆื• ื’ื™ื™ืŸ ืžื’ื™ืœื” ืฆื• ืึทืจื•ื™ืกืคื™ืจืŸ ืคืึทื ื’ืงืฉืึทื ื– ืฆื• ื“ื™ ื•ื•ืขื‘ืึทืกืกืขืžื‘ืœื™ ื‘ืึทืœืขื‘ืึธืก.

ืื™ืŸ ื•ื•ืขื‘ ืึทืกืขืžื‘ืœื™ ืกื™ืกื˜ืขื ืฆื•ื‘ื™ื ื“ ืคืึธืจื•ื™ืกื™ืงืข ื•ื•ื™ื™ึทื–ื•ื ื’ 1 (GOOS = wasip1 GOARCH = wasm), Go 1.24 ืฉื˜ื™ืฆื˜ ื‘ื•ื™ืขืŸ ืึท Go ืคึผืจืึธื’ืจืึทื ื•ื•ื™ ืจืขืึทืงื˜ืึธืจ / ื‘ื™ื‘ืœื™ืึธื˜ืขืง ื“ื•ืจืš ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ื“ื™ ื‘ื•ื™ืขืŸ ืคืึธืŸ -buildmode=c-shared.

ืžืขืจ ื˜ื™ื™ืคึผืก ื–ืขื ืขืŸ ืื™ืฆื˜ ืขืจืœื•ื™ื‘ื˜ ื•ื•ื™ ืึทืจื’ื•ืžืขื ื˜ ืึธื“ืขืจ ืจืขื–ื•ืœื˜ืึทื˜ ื˜ื™ื™ืคึผืก ืคึฟืึทืจ go:wasmimport ืคืึทื ื’ืงืฉืึทื ื–. ืื™ืŸ ื‘ืึทื–ื•ื ื“ืขืจ, bool, string, uintptr ืื•ืŸ ืคึผื•ื™ื ื˜ืขืจื– ืฆื• ื–ื™ื›ืขืจ ื˜ื™ื™ืคึผืก ื–ืขื ืขืŸ ืขืจืœื•ื™ื‘ื˜ (ื–ืขืŸ ื“ืขื˜ืึทื™ืœืก ืื™ืŸ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ), ืฆื•ื–ืืžืขืŸ ืžื™ื˜ ื“ื™ 32-ื‘ื™ืกืœ ืื•ืŸ 64-ื‘ื™ืกืœ ื™ื ื˜ืึทื“ื–ืฉืขืจ ืื•ืŸ ืคืœืึธื•ื˜ื™ื ื’-ืคื•ื ื˜ ื˜ื™ื™ืคึผืก, ืื•ืŸ ืึทื ืกื™ื™ืฃ.ืคึผืึธื™ื ื˜ืขืจ, ื•ื•ืึธืก ื–ืขื ืขืŸ ืฉื•ื™ืŸ ืขืจืœื•ื™ื‘ื˜. ื“ื™ ื˜ื™ื™ืคึผืก ื–ืขื ืขืŸ ืื•ื™ืš ืขืจืœื•ื™ื‘ื˜ ื•ื•ื™ ืึทืจื’ื•ืžืขื ื˜ ืึธื“ืขืจ ืจืขื–ื•ืœื˜ืึทื˜ ื˜ื™ื™ืคึผืก ืคึฟืึทืจ go:wasmexport ืคืึทื ื’ืงืฉืึทื ื–.

ืฉื˜ื™ืฆืŸ ื˜ืขืงืขืก ืคึฟืึทืจ ื•ื•ืขื‘ืึทืกืกืขืžื‘ืœื™ ื–ืขื ืขืŸ ืืจื™ื‘ืขืจื’ืขืคืืจืŸ ืฆื• lib/wasm ืคึฟื•ืŸ misc/wasm.

ื“ืขืจ ืขืจืฉื˜ ื–ื›ึผืจื•ืŸ ืฉืคึผื•ืจ ืื™ื– ื‘ืื˜ื™ื™ื˜ื™ืง ืจื™ื“ื•ืกื˜, ืกืคึผืขืฆื™ืขืœ ืคึฟืึทืจ ืงืœื™ื™ืŸ ื•ื•ืขื‘ืึทืกืกืขืžื‘ืœื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–.

ืคึฟืขื ืฆื˜ืขืจ

ื“ื™ 32-ื‘ื™ืกืœ ืคึฟืขื ืฆื˜ืขืจ / ืึธืจืขื ืคึผืึธืจื˜ (GOOS = ืคึฟืขื ืฆื˜ืขืจ GOARCH = ืึธืจืขื) ืื™ื– ืื ื’ืขืฆื™ื™ื›ื ื˜ ื•ื•ื™ ืฆืขื‘ืจืื›ืŸ. ืคืจื˜ื™ื ืื™ืŸ # ืงืกื ื•ืžืงืก

ืžืงื•ืจ: linux.org.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’