1.24 เชœเชพเช“

เช—เซ‹ เชญเชพเชทเชพเชจเซเช‚ เชจเชตเซเช‚ เชชเซเชฐเช•เชพเชถเชจ, เชธเช‚เชธเซเช•เชฐเชฃ 1.24, เช› เชฎเชนเชฟเชจเชพ เชชเช›เซ€ เช†เชตเซ‡ เช›เซ‡ 1.23 เชœเชพเช“. เชฎเซ‹เชŸเชพเชญเชพเช—เชจเชพ เชซเซ‡เชฐเชซเชพเชฐเซ‹ เชŸเซ‚เชฒเชšเซ‡เชจ, เชฐเชจเชŸเชพเช‡เชฎ เช…เชจเซ‡ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เช“เชจเชพ เช…เชฎเชฒเซ€เช•เชฐเชฃเชฎเชพเช‚ เช›เซ‡. เชนเช‚เชฎเซ‡เชถเชจเซ€ เชœเซ‡เชฎ, เชชเซเชฐเช•เชพเชถเชจ เชชเซ‚เชฐเซเช‚ เชชเชพเชกเซ‡ เช›เซ‡ เชธเซเชธเช‚เช—เชคเชคเชพเชจเซเช‚ เชตเชšเชจ เช—เซ‹ เซง. เชญเชพเชทเชพ เชกเชฟเชเชพเช‡เชจเชฐเซ‹ เช…เชชเซ‡เช•เซเชทเชพ เชฐเชพเช–เซ‡ เช›เซ‡ เช•เซ‡ เชฒเช—เชญเช— เชฌเชงเชพ เช—เซ‹ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเซเชธ เชชเชนเซ‡เชฒเชพเชจเซ€ เชœเซ‡เชฎ เช•เชฎเซเชชเชพเช‡เชฒ เช…เชจเซ‡ เชšเชพเชฒเชคเชพ เชฐเชนเซ‡เชถเซ‡.

เชญเชพเชทเชพ เชฌเชฆเชฒเชพเชฏ เช›เซ‡

เช—เซ‹ เซง.เซจเซช เชนเชตเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเซ‡ เช›เซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชชเซเชฐเช•เชพเชฐเชจเชพ เช‰เชชเชจเชพเชฎเซ‹: เชเช• เชชเซเชฐเช•เชพเชฐ เช‰เชชเชจเชพเชฎเชจเซ‡ เช˜เซ‹เชทเชฟเชค เชชเซเชฐเช•เชพเชฐ เชคเชฐเซ€เช•เซ‡ เชชเชฐเชฟเชฎเชพเชฃเชฟเชค เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. เชตเชฟเช—เชคเซ‹ เชญเชพเชทเชพ เชธเซเชชเชทเซเชŸเซ€เช•เชฐเชฃเซ‹. เชนเชฎเชฃเชพเช‚ เชฎเชพเชŸเซ‡, เช† เชธเซเชตเชฟเชงเชพเชจเซ‡ GOEXPERIMENT=noaliastypeparams เชธเซ‡เชŸ เช•เชฐเซ€เชจเซ‡ เช…เช•เซเชทเชฎ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡; เชœเซ‹เช•เซ‡, Go 1.25 เชฎเชพเช‚ aliastypeparams เชตเชฟเช•เชฒเซเชช เชฆเซ‚เชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡.

เชธเชพเชงเชจเซ‹

เช—เซ‹ เช•เชฎเชพเชจเซเชก

เช—เซ‹ เชฎเซ‹เชกเซเชฏเซเชฒเซเชธ เชนเชตเซ‡ go.mod เชฎเชพเช‚ เชŸเซ‚เชฒ เชกเชพเชฏเชฐเซ‡เช•เซเชŸเชฟเชตเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชเช•เซเชเชฟเช•เซเชฏเซเชŸเซ‡เชฌเชฒ เชกเชฟเชชเซ‡เชจเซเชกเชจเซเชธเซ€เชจเซ‡ เชŸเซเชฐเซ‡เช• เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡. เช†เชจเชพเชฅเซ€ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ "tools.go" เชจเชพเชฎเชจเซ€ เชซเชพเช‡เชฒเชฎเชพเช‚ เช–เชพเชฒเซ€ เช†เชฏเชพเชค เชคเชฐเซ€เช•เซ‡ เชŸเซ‚เชฒเซเชธ เช‰เชฎเซ‡เชฐเชตเชพเชจเซ€ เช…เช—เชพเช‰เชจเซ€ เชธเชฎเชธเซเชฏเชพ เชฆเซ‚เชฐ เชฅเชพเชฏ เช›เซ‡. เช—เซ‹ เชŸเซ‚เชฒ เช•เชฎเชพเชจเซเชก เชนเชตเซ‡ เช—เซ‹ เชธเชพเชฅเซ‡ เช†เชตเชคเชพ เชŸเซ‚เชฒเซเชธ เช‰เชชเชฐเชพเช‚เชค เช† เชŸเซ‚เชฒเซเชธ เชชเชฃ เชšเชฒเชพเชตเซ€ เชถเช•เซ‡ เช›เซ‡. เชตเชงเซ เชฎเชพเชนเชฟเชคเซ€ เช…เชนเซ€เช‚ เชฎเชณเซ€ เชถเช•เซ‡ เช›เซ‡ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃ.

เช—เซ‹ เช—เซ‡เชŸ เชฎเชพเชŸเซ‡เชจเซ‹ เชจเชตเซ‹ -เชŸเซ‚เชฒ เชซเซเชฒเซ‡เช—, เชœเชฐเซ‚เชฐเซ€ เชจเชฟเชฐเซเชฆเซ‡เชถเซ‹ เช‰เชฎเซ‡เชฐเชตเชพ เช‰เชชเชฐเชพเช‚เชค, เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เชชเซ‡เช•เซ‡เชœเซ‹ เชฎเชพเชŸเซ‡ เชตเชฐเซเชคเชฎเชพเชจ เชฎเซ‹เชกเซเชฏเซเชฒเชฎเชพเช‚ เชŸเซ‚เชฒ เชจเชฟเชฐเซเชฆเซ‡เชถเซ‹ เช‰เชฎเซ‡เชฐเชตเชพเชจเซเช‚ เช•เชพเชฐเชฃ เชฌเชจเซ‡ เช›เซ‡.

เชจเชตเซ€ เชฎเซ‡เชŸเชพ-เชชเซ‡เชŸเชฐเซเชจ เชŸเซ‚เชฒ เชตเชฐเซเชคเชฎเชพเชจ เชฎเซ‹เชกเซเชฏเซเชฒเชฎเชพเช‚ เชฌเชงเชพ เชŸเซ‚เชฒเซเชธเชจเซ‹ เชธเช‚เชฆเชฐเซเชญ เช†เชชเซ‡ เช›เซ‡. เช†เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช—เซ‹ เช—เซ‡เชŸ เชŸเซ‚เชฒ เชฆเซเชตเชพเชฐเชพ เชคเซ‡ เชฌเชงเชพเชจเซ‡ เช…เชชเชกเซ‡เชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช…เชฅเชตเชพ เช—เซ‹ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เชŸเซ‚เชฒ เชฆเซเชตเชพเชฐเชพ เชคเชฎเชพเชฐเซ€ GOBIN เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เชฎเชพเช‚ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡.

เช—เซ‹ เชฐเชจ เชฆเซเชตเชพเชฐเชพ เชฌเชจเชพเชตเซ‡เชฒ เชเช•เซเชเชฟเช•เซเชฏเซเชŸเซ‡เชฌเชฒเซเชธ เช…เชจเซ‡ เชจเชตเชพ เช—เซ‹ เชŸเซ‚เชฒ เชตเชฐเซเชคเชฃเซ‚เช• เชนเชตเซ‡ เช—เซ‹ เชฌเชฟเชฒเซเชก เช•เซ‡เชถเชฎเชพเช‚ เช•เซ‡เชถ เชฅเชฏเซ‡เชฒ เช›เซ‡. เช† เชตเชงเซ‡เชฒเชพ เช•เซ‡เชถเชจเซ‡ เช•เชพเชฐเชฃเซ‡ เชตเชพเชฐเช‚เชตเชพเชฐ เชฒเซ‹เชจเซเชš เช•เชฐเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชฌเชจเชพเชตเซ‡ เช›เซ‡. #69290.

เช—เซ‹ เชฌเชฟเชฒเซเชก เช…เชจเซ‡ เช—เซ‹ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช†เชฆเซ‡เชถเซ‹ เชนเชตเซ‡ -json เชซเซเชฒเซ‡เช— เชธเซเชตเซ€เช•เชพเชฐเซ‡ เช›เซ‡, เชœเซ‡ เชฌเชฟเชฒเซเชก เช†เช‰เชŸเชชเซเชŸ เช…เชจเซ‡ เชญเซ‚เชฒเซ‹เชจเซ‡ เชธเซเชŸเชพเชจเซเชกเชฐเซเชก เช†เช‰เชŸเชชเซเชŸ เชชเชฐ เชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชก JSON เช†เช‰เชŸเชชเซเชŸ เชคเชฐเซ€เช•เซ‡ เชฐเชฟเชชเซ‹เชฐเซเชŸ เช•เชฐเซ‡ เช›เซ‡. เชซเซ‹เชฐเซเชฎเซ‡เชŸเชจเซ€ เชตเชฟเช—เชคเซ‹ go help buildjson เชฎเชพเช‚ เชœเซ‹เชˆ เชถเช•เชพเชฏ เช›เซ‡.

เชตเชงเซเชฎเชพเช‚, go test -json เชนเชตเซ‡ JSON เชฎเชพเช‚ เช†เช‰เชŸเชชเซเชŸ เช…เชจเซ‡ เชฌเชฟเชฒเซเชก เชญเซ‚เชฒเซ‹เชจเซ‹ เช…เชนเซ‡เชตเชพเชฒ เช†เชชเซ‡ เช›เซ‡, เชœเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชชเชฐเชฟเชฃเชพเชฎ JSON เชธเชพเชฅเซ‡ เชฎเชฟเชถเซเชฐเชฟเชค เชฅเชพเชฏ เช›เซ‡. เชคเซ‡เชฎเชจเซ‡ เชจเชตเชพ เชเช•เซเชถเชจ เชชเซเชฐเช•เชพเชฐเซ‹ เชฆเซเชตเชพเชฐเชพ เช“เชณเช–เซ€ เชถเช•เชพเชฏ เช›เซ‡, เชชเชฐเช‚เชคเซ เชœเซ‹ เชคเซ‡เช“ เชŸเซ‡เชธเซเชŸ เช‡เชจเซเชŸเชฟเช—เซเชฐเซ‡เชถเชจ เชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ เชธเชฎเชธเซเชฏเชพเช“ เชŠเชญเซ€ เช•เชฐเซ‡ เช›เซ‡, เชคเซ‹ เชคเชฎเซ‡ เชฌเชฟเชฒเซเชกเชจเชพ เชŸเซ‡เช•เซเชธเซเชŸ เช†เช‰เชŸเชชเซเชŸ เชชเชฐ เชชเชพเช›เชพ เช†เชตเซ€ เชถเช•เซ‹ เช›เซ‹. GODEBUG เชธเซ‡เชŸเช…เชช เช—เซ‹เชŸเซ‡เชธเซเชŸเชœเซ‡เชธเชจเชฌเชฟเชฒเซเชกเชŸเซ‡เช•เซเชธเซเชŸ=1.

เชจเชตเซเช‚ GOAUTH เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชšเชฒ เช–เชพเชจเช—เซ€ เชฎเซ‹เชกเซเชฏเซเชฒ เชชเซเชฒเซเชธเชจเซ‡ เช…เชงเชฟเช•เซƒเชค เช•เชฐเชตเชพเชจเซ€ เชฒเชตเชšเซ€เช• เชฐเซ€เชค เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡. เชคเชฎเซ‡ go help goauth เชฎเชพเช‚ เชตเชฟเช—เชคเซ‹ เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹.

เช—เซ‹ เชฌเชฟเชฒเซเชก เช•เชฎเชพเชจเซเชก เชนเชตเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เชฅเชˆ เช—เชฏเซ‹ เช›เซ‡. เชฎเซเช–เซเชฏ เชฎเซ‹เชกเซเชฏเซเชฒเชจเซเช‚ เชธเช‚เชธเซเช•เชฐเชฃ เชŸเซ‡เช— เช…เชจเซ‡/เช…เชฅเชตเชพ เชตเชฐเซเชเชจ เช•เช‚เชŸเซเชฐเซ‹เชฒ เช•เชฎเชฟเชŸ เชชเชฐ เช†เชงเชพเชฐเชฟเชค, เช•เชฎเซเชชเชพเช‡เชฒ เช•เชฐเซ‡เชฒ เชฌเชพเชˆเชจเชฐเซ€เชฎเชพเช‚. เชœเซ‹ เช•เซ‹เชˆ เชซเซ‡เชฐเชซเชพเชฐ เชจ เชนเซ‹เชฏ เชคเซ‹ +dirty เชชเซเชฐเชคเซเชฏเชฏ เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡. -buildvcs=false เชซเซเชฒเซ‡เช—เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฌเชพเชˆเชจเชฐเซ€เชฎเชพเช‚เชฅเซ€ เชตเชฐเซเชเชจ เช•เช‚เชŸเซเชฐเซ‹เชฒ เชฎเชพเชนเชฟเชคเซ€เชจเซ‡ เชฌเชพเช•เชพเชค เชฐเชพเช–เชตเชพ เชฎเชพเชŸเซ‡ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡.

เชจเชตเซเช‚ GODEBUG เชธเซ‡เชŸเช…เชช เชŸเซ‚เชฒเชšเซ‡เชจเชŸเซเชฐเซ‡เชธ=1 เชนเชตเซ‡ go เช•เชฎเชพเชจเซเชกเชฎเชพเช‚ เชŸเซ‚เชฒเชšเซ‡เชจ เชชเชธเช‚เชฆเช—เซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เชŸเซเชฐเซ‡เช• เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชตเชพเชชเชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡.

Cgo

เชฐเชจเชŸเชพเช‡เชฎ เชชเซเชฐเชฆเชฐเซเชถเชจ เชธเซเชงเชพเชฐเชตเชพ เชฎเชพเชŸเซ‡ Cgo C เชซเช‚เช•เซเชถเชจเซเชธ เชฎเชพเชŸเซ‡ เชจเชตเซ€ เชเชจเซ‹เชŸเซ‡เชถเชจเชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเซ‡ เช›เซ‡. #cgo noescape cFunctionName เช•เชฎเซเชชเชพเช‡เชฒเชฐเชจเซ‡ เช•เชนเซ‡ เช›เซ‡ เช•เซ‡ C เชซเช‚เช•เซเชถเชจ cFunctionName เชฎเชพเช‚ เชชเชพเชธ เชฅเชฏเซ‡เชฒเซ€ เชฎเซ‡เชฎเชฐเซ€ เชเชธเซเช•เซ‡เชช เชฅเชˆ เชจเชฅเซ€. #cgo nocallback cFunctionName เช•เชฎเซเชชเชพเช‡เชฒเชฐเชจเซ‡ เช•เชนเซ‡ เช›เซ‡ เช•เซ‡ C เชซเช‚เช•เซเชถเชจ cFunctionName เช•เซ‹เชˆเชชเชฃ Go เชซเช‚เช•เซเชถเชจเชจเซ‡ เช•เซ‹เชฒ เชฌเซ‡เช• เช•เชฐเชคเซเช‚ เชจเชฅเซ€. เชตเชงเซ เชฎเชพเชนเชฟเชคเซ€ เช…เชนเซ€เช‚ เชฎเชณเซ€ เชถเช•เซ‡ เช›เซ‡ cgo เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃ.

Cgo เชนเชพเชฒเชฎเชพเช‚ เชเชตเชพ C เชซเช‚เช•เซเชถเชจ เชชเชฐ เช•เซ‹เชฒ เช•เชฎเซเชชเชพเช‡เชฒ เช•เชฐเชตเชพเชจเซ‹ เช‡เชจเช•เชพเชฐ เช•เชฐเซ‡ เช›เซ‡ เชœเซ‡เชฎเชพเช‚ เชฌเชนเซเชตเชฟเชง เช…เชธเช‚เช—เชค เช˜เซ‹เชทเชฃเชพเช“ เชนเซ‹เชฏ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชœเซ‹ f เชจเซ‡ void f(int) เช…เชจเซ‡ void f(double) เชฌเช‚เชจเซ‡ เชคเชฐเซ€เช•เซ‡ เชœเชพเชนเซ‡เชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡, เชคเซ‹ cgo เช•เชฆเชพเชš เช…เชฎเชพเชจเซเชฏ เช•เซ‹เชฒเชฟเช‚เช— เชธเชฟเช•เซเชตเชจเซเชธ f(0) เชœเชจเชฐเซ‡เชŸ เช•เชฐเชตเชพเชจเซ‡ เชฌเชฆเชฒเซ‡ เชญเซ‚เชฒเชจเซ€ เชœเชพเชฃ เช•เชฐเชถเซ‡. เช† เชชเซเชฐเช•เชพเชถเชจเชฎเชพเช‚ เชจเชตเซเช‚ เช เช›เซ‡ เช•เซ‡ เชœเซเชฏเชพเชฐเซ‡ เช…เชธเช‚เช—เชค เช˜เซ‹เชทเชฃเชพเช“ เชตเชฟเชตเชฟเชง เชซเชพเช‡เชฒเซ‹เชฎเชพเช‚ เชฆเซ‡เช–เชพเชฏ เช›เซ‡ เชคเซเชฏเชพเชฐเซ‡ เช† เชญเซ‚เชฒ เชธเซเชฅเชฟเชคเชฟเชจเซ€ เชถเซ‹เชงเชฎเชพเช‚ เชธเซเชงเชพเชฐเซ‹ เชฅเชฏเซ‹ เช›เซ‡. #67699.

เช“เชฌเซเชœเชกเชฎเซเชช

objdump เชŸเซ‚เชฒ เชนเชตเซ‡ 64-เชฌเซ€เชŸ LoongArch (GOARCH=loong64), RISC-V (GOARCH=riscv64), เช…เชจเซ‡ S390X (GOARCH=s390x) เชชเชฐ เชกเชฟเชธเชเชธเซ‡เชฎเซเชฌเชฒเซ€เชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเซ‡ เช›เซ‡.

เชชเชถเซเชตเซˆเชฆ

เชจเชตเซเช‚ เชชเชฐเซ€เช•เซเชทเชฃ เชตเชฟเชถเซเชฒเซ‡เชทเช• เชŸเซ‡เชธเซเชŸ เชธเซเชฏเซเชŸเซเชธเชฎเชพเช‚ เชŸเซ‡เชธเซเชŸ, เชซเชเชฐ, เชฌเซ‡เชจเซเชšเชฎเชพเชฐเซเช• เช…เชจเซ‡ เช‰เชฆเชพเชนเชฐเชฃ เช˜เซ‹เชทเชฃเชพเช“เชฎเชพเช‚ เชธเชพเชฎเชพเชจเซเชฏ เชญเซ‚เชฒเซ‹เชจเซ€ เชœเชพเชฃ เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡เชฎ เช•เซ‡ เชฆเซ‚เชทเชฟเชค เชจเชพเชฎเซ‹, เช…เชฎเชพเชจเซเชฏ เชธเชนเซ€เช“, เช…เชฅเชตเชพ เช…เชธเซเชคเชฟเชคเซเชตเชฎเชพเช‚ เชจ เชนเซ‹เชฏ เชคเซ‡เชตเชพ เช“เชณเช–เช•เชฐเซเชคเชพเช“เชจเซ‡ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เซƒเชค เช•เชฐเชคเชพ เช‰เชฆเชพเชนเชฐเชฃเซ‹. เช†เชฎเชพเช‚เชจเซ€ เช•เซ‡เชŸเชฒเซ€เช• เชญเซ‚เชฒเซ‹ เชชเชฐเซ€เช•เซเชทเชฃเซ‹ เชจเชฟเชทเซเชซเชณ เชฌเชจเชพเชตเซ€ เชถเช•เซ‡ เช›เซ‡.

เชนเชพเชฒเชจเซเช‚ printf เชชเชพเชฐเซเชธเชฐ เชนเชตเซ‡ fmt.Printf(s) เชซเซ‹เชฐเซเชฎเชจเชพ เช•เซ‹เชฒเซเชธ เชฎเชพเชŸเซ‡ เชกเชพเชฏเช—เซเชจเซ‹เชธเซเชŸเชฟเช•เซเชธ เชฐเชฟเชชเซ‹เชฐเซเชŸ เช•เชฐเซ‡ เช›เซ‡, เชœเซเชฏเชพเช‚ s เช เชฌเชฟเชจ-เชธเซเชฅเชฟเชฐ เชซเซ‹เชฐเซเชฎเซ‡เชŸ เชธเซเชŸเซเชฐเชฟเช‚เช— เช›เซ‡ เชœเซ‡เชฎเชพเช‚ เช…เชจเซเชฏ เช•เซ‹เชˆ เชฆเชฒเซ€เชฒเซ‹ เชจเชฅเซ€. เช†เชตเชพ เช•เซ‹เชฒเซเชธ เชฒเช—เชญเช— เชนเช‚เชฎเซ‡เชถเชพ เชญเซ‚เชฒ เชนเซ‹เชฏ เช›เซ‡, เช•เชพเชฐเชฃ เช•เซ‡ s เชจเซ€ เช•เชฟเช‚เชฎเชคเชฎเชพเช‚ % เช…เช•เซเชทเชฐ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡; เชคเซ‡เชจเชพ เชฌเชฆเชฒเซ‡ fmt.Print เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹. 60529. เช† เชšเซ‡เช• เชนเชพเชฒเชจเชพ เช•เซ‹เชกเชฎเชพเช‚ เชตเชธเซเชคเซเช“ เชถเซ‹เชงเชตเชพเชจเซเช‚ เชตเชฒเชฃ เชงเชฐเชพเชตเซ‡ เช›เซ‡, เช…เชจเซ‡ เชคเซ‡เชฅเซ€ เชคเซ‡ เชซเช•เซเชค เชคเซเชฏเชพเชฐเซ‡ เชœ เชฒเชพเช—เซ เชฅเชพเชฏ เช›เซ‡ เชœเซเชฏเชพเชฐเซ‡ เชญเชพเชทเชพ เชธเช‚เชธเซเช•เชฐเชฃ (go.mod เชซเชพเช‡เชฒเชจเชพ go เชจเชฟเชฐเซเชฆเซ‡เชถ เช…เชฅเชตเชพ `//go:build` เชŸเชฟเชชเซเชชเชฃเซ€เช“ เชฆเซเชตเชพเชฐเชพ เช‰เชฒเซเชฒเซ‡เช–เชฟเชค) เช“เช›เชพเชฎเชพเช‚ เช“เช›เซเช‚ Go 1.24 เชนเซ‹เชฏ, เชœเซ‡เชฅเซ€ Go 1.24 เชŸเซ‚เชฒเชšเซ‡เช‡เชจเชฎเชพเช‚ เช…เชชเช—เซเชฐเซ‡เชก เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชฒเชพเช‚เชฌเชพ เชธเช‚เช•เชฒเชจ เชตเชฟเชฐเชพเชฎ เชŸเชพเชณเซ€ เชถเช•เชพเชฏ.

เชนเชพเชฒเชจเชพ เชฌเชฟเชฒเซเชกเชŸเซ‡เช— เชตเชฟเชถเซเชฒเซ‡เชทเช• เชนเชตเซ‡ เช–เซ‹เชŸเซ‹ เชฌเชฟเชฒเซเชกเชŸเซ‡เช— เชนเซ‹เชฏ เชคเซเชฏเชพเชฐเซ‡ เชกเชพเชฏเช—เซเชจเซ‹เชธเซเชŸเชฟเช•เซเชธเชจเซ‹ เช…เชนเซ‡เชตเชพเชฒ เช†เชชเซ‡ เช›เซ‡. เชœเซ‚เชจเชพ เชธเช‚เชธเซเช•เชฐเชฃเชจเซ€ เชฌเชฟเชฒเซเชก เชฎเชฐเซเชฏเชพเชฆเชพ //go:build เชกเชพเชฏเชฐเซ‡เช•เซเชŸเชฟเชตเชฎเชพเช‚ เชœเชพเช“. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, //go:build go1.23.1 เช เชชเซ‹เชˆเชจเซเชŸ เชฐเชฟเชฒเซ€เชเชจเซ‹ เชธเช‚เชฆเชฐเซเชญ เช†เชชเซ‡ เช›เซ‡; เชคเซ‡เชจเชพ เชฌเชฆเชฒเซ‡ //go:build go1.23 เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹. #64127.

เชนเชพเชฒเชจเชพ เช•เซ‹เชชเซ€เชฒเซ‹เช• เชตเชฟเชถเซเชฒเซ‡เชทเช• เชนเชตเซ‡ เชกเชพเชฏเช—เซเชจเซ‹เชธเซเชŸเชฟเช• เชฐเชฟเชชเซ‹เชฐเซเชŸ เช•เชฐเซ‡ เช›เซ‡ เชœเซเชฏเชพเชฐเซ‡ เชšเชฒเชจเซ‡ เชŸเซเชฐเชฟเชชเชฒ "เชซเซ‹เชฐ" เชฒเซ‚เชชเชฎเชพเช‚ เชœเชพเชนเซ‡เชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซ‡เชฎ เช•เซ‡ for i := iter(); เชฅเชˆ เช—เชฏเซเช‚(i); i = next(i) { โ€ฆ }, เชฎเชพเช‚ sync.Locker เช›เซ‡, เชœเซ‡เชฎ เช•เซ‡ sync.Mutex. 1.22 เชœเชพเช“ เชฆเชฐเซ‡เช• เชชเซเชจเชฐเชพเชตเซƒเชคเซเชคเชฟ เชฎเชพเชŸเซ‡ เชเช• เชจเชตเซเช‚ เชšเชฒ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เช†เชตเชพ เชฒเซ‚เชชเซเชธเชจเชพ เชตเชฐเซเชคเชจเชฎเชพเช‚ เชซเซ‡เชฐเชซเชพเชฐ เช•เชฐเซเชฏเซ‹, เชชเชพเช›เชฒเชพ เชชเซเชจเชฐเชพเชตเซƒเชคเซเชคเชฟเชฎเชพเช‚เชฅเซ€ เชฎเซ‚เชฒเซเชฏเซ‹เชจเซ€ เชจเช•เชฒ เช•เชฐเซ€; เช† เชจเช•เชฒ เชคเชพเชณเชพเช“ เชฎเชพเชŸเซ‡ เชธเชฒเชพเชฎเชค เชจเชฅเซ€. #66387.

เช—เซ‹เช•เซ‡เชšเซ‡เชชเซเชฐเซ‹เช—

เช†เช‚เชคเชฐเชฟเช• cmd/go เชฌเชพเชˆเชจเชฐเซ€ เช…เชจเซ‡ เชŸเซ‡เชธเซเชŸ เช•เซ‡เชถเซ€เช‚เช— เชฎเชฟเช•เซ‡เชจเชฟเชเชฎ เชนเชตเซ‡ cmd/go เชŸเซ‚เชฒ เช…เชจเซ‡ GOCACHEPROG เชเชจเซเชตเชพเชฏเชฐเซเชจเชฎเซ‡เชจเซเชŸ เชšเชฒ เชฆเซเชตเชพเชฐเชพ เชจเชพเชฎ เช†เชชเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ เชšเชพเช‡เชฒเซเชก เชชเซเชฐเซ‹เชธเซ‡เชธ เชตเชšเซเชšเซ‡ JSON เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒ เชฒเชพเช—เซ เช•เชฐเซ€เชจเซ‡ เชšเชพเช‡เชฒเซเชก เชชเซเชฐเซ‹เชธเซ‡เชธ เชฆเซเชตเชพเชฐเชพ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เซ€ เชถเช•เชพเชฏ เช›เซ‡. เชชเชนเซ‡เชฒเชพเช‚ เชคเซ‡ GOEXPERIMENT เชฎเชพเชŸเซ‡ เชนเชคเซเช‚. เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒเชจเซ€ เชตเชฟเช—เชคเซ‹ เช†เชฎเชพเช‚ เชœเซ‹เชˆ เชถเช•เชพเชฏ เช›เซ‡ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃ.

เชชเซ‚เชฐเซเชฃ เชฅเชตเชพเชจเซ‹ เชธเชฎเชฏ

เช•เซ‡เชŸเชฒเชพเช• เชฐเชจเชŸเชพเช‡เชฎ เชชเซเชฐเชฆเชฐเซเชถเชจ เชธเซเชงเชพเชฐเชพเช“เช เชชเซเชฐเชคเชฟเชจเชฟเชงเชฟ เชฌเซ‡เชจเซเชšเชฎเชพเชฐเซเช•เชจเชพ เชธเชฎเซ‚เชนเชฎเชพเช‚ CPU เช“เชตเชฐเชนเซ‡เชก เชธเชฐเซ‡เชฐเชพเชถ 2-3% เช˜เชŸเชพเชกเซเชฏเซเช‚. เช…เชฐเชœเซ€เชจเชพ เช†เชงเชพเชฐเซ‡ เชชเชฐเชฟเชฃเชพเชฎเซ‹ เชฌเชฆเชฒเชพเชˆ เชถเช•เซ‡ เช›เซ‡. เช† เชธเซเชงเชพเชฐเชพเช“เชฎเชพเช‚ เชจเชตเชพ เชฌเชฟเชฒเซเชŸ-เช‡เชจ เชฎเซ‡เชช เช…เชฎเชฒเซ€เช•เชฐเชฃเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡ เชœเซ‡เชจเชพ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เช›เซ‡ เชธเซเชตเซ€เชกเชฟเชถ เชŸเซ‡เชฌเชฒเซเชธ, เชจเชพเชจเซ€ เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชฎเซ‡เชฎเชฐเซ€เชจเซเช‚ เชตเชงเซ เช•เชพเชฐเซเชฏเช•เซเชทเชฎ เชซเชพเชณเชตเชฃเซ€, เช…เชจเซ‡ เชฎเซเชฏเซเชŸเซ‡เช•เซเชธเชจเชพ เชจเชตเชพ เช†เช‚เชคเชฐเชฟเช• เชฐเชจเชŸเชพเช‡เชฎ เช…เชฎเชฒเซ€เช•เชฐเชฃ.

เชจเชตเชพ เชฌเชฟเชฒเซเชŸ-เช‡เชจ เชฎเซ‡เชช เช…เชฎเชฒเซ€เช•เชฐเชฃ เช…เชจเซ‡ เชจเชตเชพ เช†เช‚เชคเชฐเชฟเช• เชฐเชจเชŸเชพเช‡เชฎ เชฎเซเชฏเซเชŸเซ‡เช•เซเชธเชจเซ‡ เช…เชจเซเช•เซเชฐเชฎเซ‡ เชฌเชฟเชฒเซเชก เชธเชฎเชฏเซ‡ GOEXPERIMENT=noswissmap เช…เชจเซ‡ GOEXPERIMENT=nospinbitmutex เชธเซ‡เชŸ เช•เชฐเซ€เชจเซ‡ เช…เช•เซเชทเชฎ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡.

เช•เชฎเซเชชเชพเช‡เชฒเชฐ

เช•เชฎเซเชชเชพเช‡เชฒเชฐเซ‡ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ cgo เชฆเซเชตเชพเชฐเชพ เชœเชจเชฐเซ‡เชŸ เช•เชฐเชพเชฏเซ‡เชฒเชพ เชฐเซ€เชธเซ€เชตเชฐ เชชเซเชฐเช•เชพเชฐเซ‹ เชธเชพเชฅเซ‡ เชจเชตเซ€ เชชเชฆเซเชงเชคเชฟเช“ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเชตเชพเชจเซ€ เชฎเชจเชพเชˆ เชซเชฐเชฎเชพเชตเซ€ เชนเชคเซ€, เชชเชฐเช‚เชคเซ เชŸเชพเช‡เชช เช‰เชชเชจเชพเชฎ เชฆเซเชตเชพเชฐเชพ เช† เชชเซเชฐเชคเชฟเชฌเช‚เชงเชจเซ€ เช†เชธเชชเชพเชธ เช•เชพเชฎ เช•เชฐเชตเซเช‚ เชถเช•เซเชฏ เชนเชคเซเช‚. เชœเซ‹ เชฐเซ€เชธเซ€เชตเชฐ เชธเซ€เชœเซ€เช“-เชœเชจเชฐเซ‡เชŸเซ‡เชก เชชเซเชฐเช•เชพเชฐ เชธเซ‚เชšเชตเซ‡ เช›เซ‡, เชคเซ‹ เช—เซ‹ 1.24 เชนเชตเซ‡ เชนเช‚เชฎเซ‡เชถเชพ เชญเซ‚เชฒเชจเซ€ เชœเชพเชฃ เช•เชฐเซ‡ เช›เซ‡, เช•เชพเช‚ เชคเซ‹ เชธเซ€เชงเซ€ เช•เซ‡ เช†เชกเช•เชคเชฐเซ€ เชฐเซ€เชคเซ‡ (เชŸเชพเชˆเชช เช‰เชชเชจเชพเชฎ เชฆเซเชตเชพเชฐเชพ).

เชฒเชฟเช‚เช•เชฐ

เชฒเชฟเช‚เช•เชฐ เชนเชตเซ‡ ELF เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชชเชฐ GNU เชฌเชฟเชฒเซเชก เช†เช‡เชกเซ‡เชจเซเชŸเชฟเชซเชพเชฏเชฐ (ELF เชเชจเซเชŸเซเชฐเซ€ NT_GNU_BUILD_ID) เช…เชจเซ‡ macOS เชชเชฐ เชกเชฟเชซเซ‹เชฒเซเชŸ เชฐเซ‚เชชเซ‡ UUID (Mach-O เชฒเซ‹เชก เช•เชฎเชพเชจเซเชก LC_UUID) เชœเชจเชฐเซ‡เชŸ เช•เชฐเซ‡ เช›เซ‡. เชฌเชฟเชฒเซเชก ID เช…เชฅเชตเชพ UUID เช—เซ‹ เชฌเชฟเชฒเซเชก ID เชชเชฐเชฅเซ€ เช‰เชคเชฐเซ€ เช†เชตเซเชฏเซเช‚ เช›เซ‡. เช†เชจเซ‡ -B เชจเซ‹เชจ เชฒเชฟเช‚เช•เชฐ เชซเซเชฒเซ‡เช— เชตเชกเซ‡ เชฌเช‚เชง เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡, เช…เชฅเชตเชพ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ-เชจเชฟเชฐเซเชฆเชฟเชทเซเชŸ เชนเซ‡เช•เซเชธเชพเชกเซ‡เชธเชฟเชฎเชฒ เชฎเซ‚เชฒเซเชฏ เชธเชพเชฅเซ‡ -B 0xNNNN เชฒเชฟเช‚เช•เชฐ เชซเซเชฒเซ‡เช— เชตเชกเซ‡ เช“เชตเชฐเชฐเชพเช‡เชก เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡.

เชชเซเชฐเชฎเซ‹เชถเชจ

เชฎเชพเช‚ เชœเชฃเชพเชตเซเชฏเชพ เชฎเซเชœเชฌ เช—เซ‹ เซง.เซจเซจ เชชเซเชฐเช•เชพเชถเชจ เชจเซ‹เช‚เชงเซ‹, Go 1.24 เชจเซ‡ เชนเชตเซ‡ Go 1.22.6 เช…เชฅเชตเชพ เชชเช›เซ€เชจเชพ เชธเช‚เชธเซเช•เชฐเชฃเชจเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชกเซ‡เชตเชฒเชชเชฐเซเชธ เช…เชชเซ‡เช•เซเชทเชพ เชฐเชพเช–เซ‡ เช›เซ‡ เช•เซ‡ Go 1.26 เชจเซ‡ เชฐเซ‹เชฒเช†เช‰เชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ Go 1.24 เช…เชฅเชตเชพ เชชเช›เซ€เชจเชพ เชชเซ‹เชˆเชจเซเชŸ เชฐเชฟเชฒเซ€เชเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเชถเซ‡.

เชฎเชพเชจเช• เชชเซเชธเซเชคเช•เชพเชฒเชฏ

เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€-เชชเซเชฐเชคเชฟเชฌเช‚เชงเชฟเชค เชซเชพเช‡เชฒ เชธเชฟเชธเซเชŸเชฎ เชเช•เซเชธเซ‡เชธ

เชจเชตเซ‹ เชชเซเชฐเช•เชพเชฐ เช“เชเชธ.เชฐเซเชŸ เชšเซ‹เช•เซเช•เชธ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เชฎเชพเช‚ เชซเชพเช‡เชฒ เชธเชฟเชธเซเชŸเชฎ เช•เชพเชฎเช—เซ€เชฐเซ€ เช•เชฐเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ เชชเซ‚เชฐเซ€ เชชเชพเชกเซ‡ เช›เซ‡.

เช•เชพเชฐเซเชฏ เช“เชเชธ.เช“เชชเชจเชฐเซ‚เชŸ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เช–เซ‹เชฒเซ‡ เช›เซ‡ เช…เชจเซ‡ เชชเชพเช›เซเช‚ เช†เชชเซ‡ เช›เซ‡ เช“เชเชธ.เชฐเซเชŸ. เชชเชฆเซเชงเชคเชฟเช“ เชšเชพเชฒเซ เช“เชเชธ.เชฐเซเชŸ เชคเซ‡ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เชฎเชพเช‚ เช•เชพเชฐเซเชฏ เช•เชฐเซ‹ เช…เชจเซ‡ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เชจเซ€ เชฌเชนเชพเชฐเชจเชพ เชธเซเชฅเชพเชจเซ‹เชจเซ‹ เชธเช‚เชฆเชฐเซเชญ เชฒเซ‡เชตเชพ เชฎเชพเชŸเซ‡ เชชเชพเชฅเชจเซ‡ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเชถเซ‹ เชจเชนเซ€เช‚, เชœเซ‡เชฎเชพเช‚ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เชจเซ€ เชฌเชนเชพเชฐ เชธเชพเช‚เช•เซ‡เชคเชฟเช• เชฒเชฟเช‚เช•เซเชธเชจเซ‡ เช…เชจเซเชธเชฐเชคเชพ เชชเชพเชฅเชจเซ‹ เชชเชฃ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡. os.Root เชชเชฐเชจเซ€ เชชเชฆเซเชงเชคเชฟเช“ os เชชเซ‡เช•เซ‡เชœเชฎเชพเช‚ เช‰เชชเชฒเชฌเซเชง เชฎเซ‹เชŸเชพเชญเชพเช—เชจเซ€ เชซเชพเช‡เชฒเชธเชฟเชธเซเชŸเชฎ เช•เชพเชฎเช—เซ€เชฐเซ€เชจเซ‡ เชชเซเชฐเชคเชฟเชฌเชฟเช‚เชฌเชฟเชค เช•เชฐเซ‡ เช›เซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช“เชเชธ.เชฐเซเชŸ.เช“เชชเชจ, เช“เชเชธ.เชฐเซเชŸ.เช•เซเชฐเชฟเชเชŸ, เช“เชเชธ.เชฐเซเชŸ.เชเชฎเช•เซ‡เชกเซ€เชฐ ะธ เช“เชเชธ.เชฐเซเชŸ.เชธเซเชŸเซ‡เชŸ.

เชจเชตเซ€ เชฌเซ‡เชจเซเชšเชฎเชพเชฐเซเช• เชธเซเชตเชฟเชงเชพ

เชฌเซ‡เชจเซเชšเชฎเชพเชฐเซเช• เชนเชตเซ‡ เชเชกเชชเซ€, เช“เช›เซ€ เชญเซ‚เชฒ-เชธเช‚เชญเชตเชฟเชค เชชเชฆเซเชงเชคเชฟเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡ เชชเชฐเซ€เช•เซเชทเชฃ.เชฌเซ€.เชฒเซ‚เชช bN เชจเซ‡ เชธเชฎเชพเชตเชฟเชทเซเชŸ เชฒเชพเช•เซเชทเชฃเชฟเช• เชฒเซ‚เชช เชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชธเชจเซ‡ เชฌเชฆเชฒเซ‡ b.Loop() { โ€ฆ } เชœเซ‡เชตเชพ เชฌเซ‡เชจเซเชšเชฎเชพเชฐเซเช• เชชเชฐ เชชเซเชจเชฐเชพเชตเชฐเซเชคเชจ เช•เชฐเชตเซเช‚ เชœเซ‡เชฎ เช•เซ‡ เชฐเซ‡เชจเซเชœ bN เชฎเชพเชŸเซ‡ เช† เชฌเซ‡ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชซเชพเชฏเชฆเชพ เช†เชชเซ‡ เช›เซ‡:

  • เชฌเซ‡เชจเซเชšเชฎเชพเชฐเซเช• เชซเช‚เช•เซเชถเชจ เชชเซเชฐเชคเชฟ-เช•เชพเช‰เชจเซเชŸ เชฌเชฐเชพเชฌเชฐ เชเช• เชตเชพเชฐ เชšเชฒเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซ‡เชฅเซ€ เช–เชฐเซเชšเชพเชณ เชธเซ‡เชŸเช…เชช เช…เชจเซ‡ เชธเชซเชพเชˆ เชชเช—เชฒเชพเช‚ เชซเช•เซเชค เชเช• เชœ เชตเชพเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.
  • เชซเช‚เช•เซเชถเชจ เช•เซ‹เชฒ เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐเซเชธ เช…เชจเซ‡ เชชเชฐเชฟเชฃเชพเชฎเซ‹ เชœเซ€เชตเช‚เชค เชฐเชนเซ‡ เช›เซ‡, เชœเซ‡ เช•เชฎเซเชชเชพเช‡เชฒเชฐเชจเซ‡ เชฒเซ‚เชช เชฌเซ‹เชกเซ€เชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เช เช•เชฐเชตเชพเชฅเซ€ เช…เชŸเช•เชพเชตเซ‡ เช›เซ‡.

เชธเซเชงเชพเชฐเซ‡เชฒ เช…เช‚เชคเชฟเชฎเช•เชฐเซเชคเชพเช“

เชจเชตเซ€ เชธเซเชตเชฟเชงเชพ เชฐเชจเชŸเชพเช‡เชฎ.เช•เซเชฒเซ€เชจเช…เชช เช‰เชฎเซ‡เชฐเซ‹ เชเช• เชชเซ‚เชฐเซเชฃเชคเชพ เชชเชฆเซเชงเชคเชฟ เช›เซ‡ เชœเซ‡ เชตเชงเซ เชฒเชตเชšเซ€เช•, เชตเชงเซ เช•เชพเชฐเซเชฏเช•เซเชทเชฎ เช…เชจเซ‡ เช“เช›เซ€ เชญเซ‚เชฒ-เชธเช‚เชญเชตเชฟเชค เช›เซ‡ เชฐเชจเชŸเชพเช‡เชฎ.เชธเซ‡เชŸเชซเชพเช‡เชจเชพเชฒเชพเช‡เชเชฐ. AddCleanup เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชธเชพเชฅเซ‡ เช•เซเชฒเชฟเชจเช…เชช เชซเช‚เช•เซเชถเชจ เชœเซ‹เชกเซ‡ เช›เซ‡ เชœเซ‡ เช‘เชฌเซเชœเซ‡เช•เซเชŸ เช…เชจเซเชชเชฒเชฌเซเชง เชฅเชคเชพเช‚ เชœ เชšเชฒเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡. เชœเซ‹เช•เซ‡, เชธเซ‡เชŸเชซเชพเช‡เชจเชฒเชพเช‡เชเชฐเชฅเซ€ เชตเชฟเชชเชฐเซ€เชค, เชเช• เชœ เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชธเชพเชฅเซ‡ เชฌเชนเซเชตเชฟเชง เชธเชซเชพเชˆ เชœเซ‹เชกเซ€ เชถเช•เชพเชฏ เช›เซ‡, เชธเชซเชพเชˆ เช†เช‚เชคเชฐเชฟเช• เชชเซ‹เช‡เชจเซเชŸเชฐ เชธเชพเชฅเซ‡ เชœเซ‹เชกเซ€ เชถเช•เชพเชฏ เช›เซ‡, เชœเซเชฏเชพเชฐเซ‡ เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชšเช•เซเชฐ เชฌเชจเชพเชตเซ‡ เช›เซ‡ เชคเซเชฏเชพเชฐเซ‡ เชธเชซเชพเชˆ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชฒเซ€เช•เชจเซเช‚ เช•เชพเชฐเชฃ เชจเชฅเซ€, เช…เชจเซ‡ เชธเชซเชพเชˆ เช‘เชฌเซเชœเซ‡เช•เซเชŸ เช…เชฅเชตเชพ เชคเซ‡ เชœเซ‡ เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชคเชฐเชซ เชจเชฟเชฐเซเชฆเซ‡เชถ เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡เชจเชพ เชกเชฟเชฒเซ‹เช•เซ‡เชถเชจเชฎเชพเช‚ เชตเชฟเชฒเช‚เชฌ เช•เชฐเชคเซ€ เชจเชฅเซ€. เชจเชตเชพ เช•เซ‹เชกเชฎเชพเช‚ SetFinalizer เช•เชฐเชคเชพเช‚ AddCleanup เชจเซ‡ เชชเซเชฐเชพเชงเชพเชจเซเชฏ เช†เชชเชตเซเช‚ เชœเซ‹เชˆเช.

เชจเชตเซเช‚ เชจเชฌเชณเซเช‚ เชชเซ‡เช•เซ‡เชœ

เชจเชตเซเช‚ เชชเซ‡เช•เซ‡เชœ เชจเชฌเชณเชพ เชจเชฌเชณเชพ เชจเชฟเชฐเซเชฆเซ‡เชถเซ‹ เชชเซ‚เชฐเชพ เชชเชพเชกเซ‡ เช›เซ‡.

เชจเชฌเชณเชพ เชชเซ‹เช‡เชจเซเชŸเชฐ เช เชฎเซ‡เชฎเชฐเซ€-เช•เชพเชฐเซเชฏเช•เซเชทเชฎ เชฎเชพเชณเช–เชพเช‚ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชชเซ‚เชฐเชพ เชชเชพเชกเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ เชเช• เชจเซ€เชšเชพ-เชธเซเชคเชฐเชจเซเช‚ เชชเซเชฐเชฟเชฎเชฟเชŸเชฟเชต เช›เซ‡ เชœเซ‡เชฎ เช•เซ‡ เชฎเซ‡เชชเชฟเช‚เช— เชฎเซ‚เชฒเซเชฏเซ‹ เชฎเชพเชŸเซ‡ เชจเชฌเชณเชพ เชถเชฌเซเชฆเช•เซ‹เชถเซ‹, เชชเซ‡เช•เซ‡เชœ เชฆเซเชตเชพเชฐเชพ เช†เชตเชฐเซ€ เชฒเซ‡เชตเชพเชฎเชพเช‚ เชจ เช†เชตเชคเซ€ เช•เซ‹เชˆเชชเชฃ เชตเชธเซเชคเซ เชฎเชพเชŸเซ‡ เช•เซ‡เชจเซ‹เชจเชฟเช•เชฒเชพเช‡เชเซ‡เชถเชจ เชถเชฌเซเชฆเช•เซ‹เชถเซ‹. เช…เชจเชจเซเชฏ, เช…เชจเซ‡ เชตเชฟเชตเชฟเชง เชชเซเชฐเช•เชพเชฐเชจเชพ เช•เซ‡เชถ. เช† เช‰เชชเชฏเซ‹เช—เชจเชพ เช•เซ‡เชธเซ‹เชจเซ‡ เชธเชฎเชฐเซเชฅเชจ เช†เชชเชตเชพ เชฎเชพเชŸเซ‡, เช† เชชเซเชฐเช•เชพเชถเชจ เชชเชฃ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡ เชฐเชจเชŸเชพเช‡เชฎ.เช•เซเชฒเซ€เชจเช…เชช เช‰เชฎเซ‡เชฐเซ‹ ะธ เชฎเซ‡เชซเซ‡เชถ.เชคเซเชฒเชจเชพเชคเซเชฎเช•.

เชจเชตเซเช‚ เช•เซเชฐเชฟเชชเซเชŸเซ‹/เชเชฎเชเชฒเช•เซ‡เชฎ เชชเซ‡เช•เซ‡เชœ

เชจเชตเซเช‚ เชชเซ‡เช•เซ‡เชœ เช•เซเชฐเชฟเชชเซเชŸเซ‹/เชเชฎเชเชฒเช•เซ‡เชเชฎ ML-KEM-768 เช…เชจเซ‡ ML-KEM-1024 เชจเซ‹ เช…เชฎเชฒ เช•เชฐเซ‡ เช›เซ‡.

ML-KEM เช เชชเซ‹เชธเซเชŸ-เช•เซเชตเซ‹เชจเซเชŸเชฎ เช•เซ€ เชเช•เซเชธเชšเซ‡เชจเซเชœ เชฎเชฟเช•เซ‡เชจเชฟเชเชฎ เช›เซ‡, เชœเซ‡ เช…เช—เชพเช‰ Kyber เชคเชฐเซ€เช•เซ‡ เช“เชณเช–เชพเชคเซเช‚ เชนเชคเซเช‚ เช…เชจเซ‡ เชคเซ‡เชฎเชพเช‚ เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เชนเชคเซเช‚ FIPS 203.

เชจเชตเชพ เชชเซ‡เช•เซ‡เชœเซ‹ crypto/hkdf, crypto/pbkdf2 เช…เชจเซ‡ crypto/sha3

เชจเชตเซเช‚ เชชเซ‡เช•เซ‡เชœ เช•เซเชฐเชฟเชชเซเชŸเซ‹/hkdf HMAC-เช†เชงเชพเชฐเชฟเชค "เชเช•เซเชธเซเชŸเซเชฐเซ‡เช•เซเชŸ-เชเชจเซเชก-เชเช•เซเชธเชชเชพเชจเซเชก" เช•เซ€ เชกเซ‡เชฐเชฟเชตเซ‡เชถเชจ เชซเช‚เช•เซเชถเชจ HKDF เชจเซ‡ เชฎเชพเช‚ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเซเชฏเชพ เชฎเซเชœเชฌ เชฒเชพเช—เซ เช•เชฐเซ‡ เช›เซ‡ เช†เชฐเชเชซเชธเซ€ 5869.

เชจเชตเซเช‚ เชชเซ‡เช•เซ‡เชœ เช•เซเชฐเชฟเชชเซเชŸเซ‹/pbkdf2 เชฎเชพเช‚ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเซเชฏเชพ เชฎเซเชœเชฌ เชชเชพเชธเชตเชฐเซเชก-เช†เชงเชพเชฐเชฟเชค เช•เซ€ เชกเซ‡เชฐเชฟเชตเซ‡เชถเชจ เชซเช‚เช•เซเชถเชจ PBKDF2 เชฒเชพเช—เซ เช•เชฐเซ‡ เช›เซ‡ เช†เชฐเชเชซเชธเซ€ 8018.

เชจเชตเซเช‚ เชชเซ‡เช•เซ‡เชœ เช•เซเชฐเชฟเชชเซเชŸเซ‹/sha3 เชฎเชพเช‚ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเซเชฏเชพ เชฎเซเชœเชฌ SHA-3 เชนเซ‡เชถ เชซเช‚เช•เซเชถเชจ เช…เชจเซ‡ SHAKE เช…เชจเซ‡ cSHAKE เชเช•เซเชธเซเชŸเซ‡เชจเซเชธเชฟเชฌเชฒ เช†เช‰เชŸเชชเซเชŸ เชซเช‚เช•เซเชถเชจเชจเซ‹ เช…เชฎเชฒ เช•เชฐเซ‡ เช›เซ‡ FIPS 202.

เชคเซเชฐเชฃเซ‡เชฏ เชชเซ‡เช•เซ‡เชœเซ‹ เชนเชพเชฒเชจเชพ golang.org/x/crypto/โ€ฆ เชชเซ‡เช•เซ‡เชœเซ‹ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เช›เซ‡.

FIPS 140-3 เชชเชพเชฒเชจ

เช† เชชเซเชฐเช•เชพเชถเชจเชฎเชพเช‚ เชถเชพเชฎเซ‡เชฒ เช›เซ‡ FIPS 140-3 เชชเชพเชฒเชจ เชธเซเชจเชฟเชถเซเชšเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชชเชฆเซเชงเชคเชฟเช“เชจเซ‹ เชเช• เชจเชตเซ‹ เชธเชฎเซ‚เชน.

เช—เซ‹ เช•เซเชฐเชฟเชชเซเชŸเซ‹ เชฎเซ‹เชกเซเชฏเซเชฒ เช เช†เช‚เชคเชฐเชฟเช• เชฎเชพเชจเช• เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เชชเซ‡เช•เซ‡เชœเซ‹เชจเซ‹ เชธเชฎเซ‚เชน เช›เซ‡ เชœเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— FIPS 140-3 เชฎเช‚เชœเซ‚เชฐ เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเซเชธเชจเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพ เชฎเชพเชŸเซ‡ เชชเชพเชฐเชฆเชฐเซเชถเช• เชฐเซ€เชคเซ‡ เชฅเชพเชฏ เช›เซ‡. เชฎเชพเชจเซเชฏ เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเซเชธ เชฎเชพเชŸเซ‡ เช—เซ‹ เช•เซเชฐเชฟเชชเซเชŸเซ‹ เชฎเซ‹เชกเซเชฏเซเชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซ‹เชจเซ‡ เชซเซ‡เชฐเชซเชพเชฐเซ‹เชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€.

เชจเชตเชพ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชšเชฒ GOFIPS140 เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฌเชฟเชฒเซเชกเชฎเชพเช‚ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ Go เช•เซเชฐเชฟเชชเซเชŸเซ‹ เชฎเซ‹เชกเซเชฏเซเชฒเชจเชพ เชธเช‚เชธเซเช•เชฐเชฃเชจเซ‡ เชชเชธเช‚เชฆ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡. เชจเชตเซเช‚ GODEBUG เชธเซ‡เชŸเช…เชช เชฐเชจเชŸเชพเช‡เชฎ เชชเชฐ FIPS 140-140 เชฎเซ‹เชกเชจเซ‡ เชธเช•เซเชทเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ fips3 เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡.

เช—เซ‹ เซง.เซจเซช เชฎเชพเช‚ เช—เซ‹ เช•เซเชฐเชฟเชชเซเชŸเซ‹ เชฎเซ‹เชกเซเชฏเซเชฒ v1.24 เชถเชพเชฎเซ‡เชฒ เช›เซ‡, เชœเซ‡ เชนเชพเชฒเชฎเชพเช‚ CMVP-เชฎเชพเชจเซเชฏเชคเชพ เชชเซเชฐเชพเชชเซเชค เชฒเซ‡เชฌ เชธเชพเชฅเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡.

เชจเชตเซเช‚ เชชเซเชฐเชพเชฏเซ‹เช—เชฟเช• เชชเซ‡เช•เซ‡เชœ เชชเชฐเซ€เช•เซเชทเชฃ/เชธเชฟเช‚เช•เชŸเซ‡เชธเซเชŸ

เชจเชตเซเช‚ เชชเซเชฐเชพเชฏเซ‹เช—เชฟเช• เชชเซ‡เช•เซ‡เชœ เชชเชฐเซ€เช•เซเชทเชฃ/เชธเชฎเชจเซเชตเชฏเชจ เชชเชฐเซ€เช•เซเชทเชฃ เชธเชฎเชตเชฐเซเชคเซ€ เช•เซ‹เชกเชจเชพ เชชเชฐเซ€เช•เซเชทเชฃ เชฎเชพเชŸเซ‡ เชธเชชเซ‹เชฐเซเชŸ เชชเซ‚เชฐเซ‹ เชชเชพเชกเซ‡ เช›เซ‡.

  • เช•เชพเชฐเซเชฏ เชธเชฟเช‚เช•เชŸเซ‡เชธเซเชŸ.เชฐเชจ เชเช• เช…เชฒเช— "เชฌเชฌเชฒ" เชฎเชพเช‚ เช—เซ‹เชฐเซ‹เชŸเชฟเชจเชจเซ‹ เชธเชฎเซ‚เชน เชšเชฒเชพเชตเซ‡ เช›เซ‡. เชชเซ‡เช•เซ‡เชœ เชซเช‚เช•เซเชถเชจเชจเชพ เชฌเชฌเชฒเชฎเชพเช‚ เชธเชฎเชฏ เช–เซ‹เชŸเชพ เช˜เชกเชฟเชฏเชพเชณเซ‹ เชชเชฐ เช•เชพเชฎ เช•เชฐเซ‹.
  • เช•เชพเชฐเซเชฏเซ‹ เชธเชฟเช‚เช•เชŸเซ‡เชธเซเชŸ.เชตเซ‡เช‡เชŸ เชตเชฐเซเชคเชฎเชพเชจ เชฌเชฌเชฒเชฎเชพเช‚ เชฌเชงเชพ เช—เซ‹เชฐเซ‹เชŸเชฟเชจ เชฌเซเชฒเซ‹เช• เชฅเชพเชฏ เชคเซเชฏเชพเช‚ เชธเซเชงเซ€ เชฐเชพเชน เชœเซเช“.

เชตเชฟเช—เชคเซ‹ เชชเซ‡เช•เซ‡เชœ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ‹เชฎเชพเช‚ เชฎเชณเซ€ เชถเช•เซ‡ เช›เซ‡.

เชธเชฟเช‚เช•เชŸเซ‡เชธเซเชŸ เชชเซ‡เช•เซ‡เชœ เชชเซเชฐเชพเชฏเซ‹เช—เชฟเช• เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ GOEXPERIMENT=synctest เชธเซ‡เชŸ เช•เชฐเซ€เชจเซ‡ เชธเช•เซเชทเชฎ เช•เชฐเชตเซเช‚ เช†เชตเชถเซเชฏเช• เช›เซ‡. เชชเซ‡เช•เซ‡เชœ API เชญเชตเชฟเชทเซเชฏเชจเชพ เชชเซเชฐเช•เชพเชถเชจเซ‹เชฎเชพเช‚ เชฌเชฆเชฒเชพเชˆ เชถเช•เซ‡ เช›เซ‡. เชฎเชพเช‚ #67434 เชคเชฎเซ‡ เชตเชงเซ เชตเชฟเช—เชคเซ‹ เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชชเซเชฐเชคเชฟเชธเชพเชฆ เช†เชชเซ€ เชถเช•เซ‹ เช›เซ‹.

เชชเซเชธเซเชคเช•เชพเชฒเชฏเชฎเชพเช‚ เชจเชพเชจเชพ เชซเซ‡เชฐเชซเชพเชฐเซ‹

เช†เชฐเซเช•เชพเช‡เชต

เช†เชฐเซเช•เชพเช‡เชต/เชเชฟเชช เช…เชจเซ‡ เช†เชฐเซเช•เชพเช‡เชต/เชŸเชพเชฐเชฎเชพเช‚ (*Writer.AddFS) เช…เชฎเชฒเซ€เช•เชฐเชฃเซ‹ เชนเชตเซ‡ เช–เชพเชฒเซ€ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชฎเชพเชŸเซ‡ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชนเซ‡เชกเชฐ เชฒเช–เซ‡ เช›เซ‡.

เชฌเชพเช‡เชŸเซเชธ

เชชเซ‡เช•เซ‡เชœ เชฌเชพเช‡เชŸเซเชธ เช‡เชŸเชฐเซ‡เชŸเชฐเซเชธ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชคเชพ เช˜เชฃเชพ เช•เชพเชฐเซเชฏเซ‹ เช‰เชฎเซ‡เชฐเซ‡ เช›เซ‡:

  • เชฒเชพเช‡เชจเซเชธ เชฌเชพเช‡เชŸ เชธเซเชฒเชพเช‡เชธเชฎเชพเช‚ เชจเชตเซ€ เชฒเชพเช‡เชจ-เชตเชฟเชญเชพเชœเชฟเชค เชธเซเชŸเซเชฐเชฟเช‚เช—เซเชธ เชชเชฐ เช‡เชŸเชฐเซ‡เชŸเชฐ เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡.
  • เชธเซเชชเซเชฒเชฟเชŸเชธเซ‡เช• เชตเชฟเชญเชพเชœเช• เชฆเซเชตเชพเชฐเชพ เช…เชฒเช— เช•เชฐเชพเชฏเซ‡เชฒ เชฌเชพเช‡เชŸ เชธเซเชฒเชพเช‡เชธเชจเชพ เชฌเชงเชพ เชธเชฌเชธเซเชฒเชพเช‡เชธ เชชเชฐ เช‡เชŸเชฐเซ‡เชŸเชฐ เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡.
  • เชธเซเชชเซเชฒเชฟเชŸเช†เชซเซเชŸเชฐเชธเซ‡เช• เชตเชฟเชญเชพเชœเช•เชจเชพ เชฆเชฐเซ‡เช• เช˜เชŸเชจเชพ เชชเช›เซ€ เชตเชฟเชญเชพเชœเซ€เชค, เชฌเชพเช‡เชŸ เชธเซเชฒเชพเช‡เชธเชจเชพ เชธเชฌเชธเซเชฒเชพเช‡เชธ เชชเชฐ เช‡เชŸเชฐเซ‡เชŸเชฐ เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡.
  • เชซเซ€เชฒเซเชกเซเชธเชธเซ‡เช• เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเซเชฏเชพ เชฎเซเชœเชฌ, เชธเซเชชเซ‡เชธ เช…เช•เซเชทเชฐเซ‹เชจเชพ เชธเชฟเช•เซเชตเชจเซเชธเชจเซ€ เช†เชธเชชเชพเชธ เชฌเชพเช‡เชŸ เชธเซเชฒเชพเช‡เชธเชจเชพ เชธเชฌเชธเซเชฒเชพเช‡เชธ เชชเชฐ เช‡เชŸเชฐเซ‡เชŸเชฐ เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡. เชฏเซเชจเชฟเช•เซ‹เชก.เช‡เชธเชธเซเชชเซ‡เชธ
  • เชซเซ€เชฒเซเชกเซเชธเชซเช‚เช•เชธเซ‡เช• เชฏเซเชจเชฟเช•เซ‹เชก เช•เซ‹เชก เชชเซ‹เชˆเชจเซเชŸเชจเชพ เชธเชฟเช•เซเชตเชจเซเชธเชจเซ€ เช†เชธเชชเชพเชธ เชฌเชพเชˆเชŸ เชธเซเชฒเชพเชˆเชธเชจเชพ เชธเชฌเชธเซเชฒเชพเชˆเชธ เชชเชฐ เชˆเชŸเชฐเซ‡เชŸเชฐ เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡ เชœเซ‡ เช•เซ‹เชˆ เชชเซเชฐเชฟเชกเชฟเช•เซ‡เชŸเชจเซ‡ เชธเช‚เชคเซ‹เชทเซ‡ เช›เซ‡.

เช•เซเชฐเชฟเชชเซเชŸเซ‹/เชเช‡เชเชธ

เชชเชฐเชค เชฎเซ‚เชฒเซเชฏ เชจเซเชฏเซ‚เชšเชพเช‡เชซเชฐ เชนเชตเซ‡ NewCTR, NewGCM, NewCBCEncrypter, เช…เชจเซ‡ NewCBCDecrypter เชชเชฆเซเชงเชคเชฟเช“เชจเซ‹ เช…เชฎเชฒ เช•เชฐเชคเซเช‚ เชจเชฅเซ€. เช† เชชเชฆเซเชงเชคเชฟเช“ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เซƒเชค เชจเชนเซ‹เชคเซ€ เช…เชจเซ‡ เชฌเชงเชพ เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ เชชเชฐ เช‰เชชเชฒเชฌเซเชง เชจเชนเซ‹เชคเซ€. เชนเชตเซ‡ เช…เชฐเซเชฅ เชฌเซเชฒเซ‹เช• เชธเซ€เชงเชพ เชฏเซ‹เช—เซเชฏ เช•เชพเชฐเซเชฏเซ‹เชฎเชพเช‚ เชชเชธเชพเชฐ เชฅเชตเซเช‚ เช†เชตเชถเซเชฏเช• เช›เซ‡ เช•เซเชฐเชฟเชชเซเชŸเซ‹/เชธเชพเช‡เชซเชฐ. เชนเชพเชฒเชฎเชพเช‚, เช•เซเชฐเชฟเชชเซเชŸเซ‹/เชธเชพเช‡เชซเชฐ เชนเชœเซ เชชเชฃ เชฌเซเชฒเซ‹เช• เชฎเซ‚เชฒเซเชฏเซ‹ เชชเชฐ เช† เชชเชฆเซเชงเชคเชฟเช“ เชคเชชเชพเชธเซ‡ เช›เซ‡, เชญเชฒเซ‡ เชคเซ‡ เชนเชตเซ‡ เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เชฆเซเชตเชพเชฐเชพ เชธเชฎเชฐเซเชฅเชฟเชค เชจเชฅเซ€.

เช•เซเชฐเชฟเชชเซเชŸเซ‹/เชธเชพเช‡เชซเชฐ

เชจเชตเซ€ เชธเซเชตเชฟเชงเชพ เชจเซเชฏเซ‚เชœเซ€เชธเซ€เชเชฎเชตเชฟเชฅเชฐเซ‡เชจเซเชกเชฎเชจเซ‹เชจเซเชธ เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡ AEAD, เชœเซ‡ เชธเซ€เชฒ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชฐเซ‡เชจเซเชกเชฎ เชจเซ‹เชจเซเชธ เชœเชจเชฐเซ‡เชŸ เช•เชฐเซ€เชจเซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชธเชพเช‡เชซเชฐเชŸเซ‡เช•เซเชธเซเชŸเชฎเชพเช‚ เชชเซเชฐเซ€เชชเซ‡เชจเซเชก เช•เชฐเซ€เชจเซ‡ AES-GCM เชฒเชพเช—เซ เช•เชฐเซ‡ เช›เซ‡.

ะ ะตะฐะปะธะทะฐั†ะธั เชธเซเชŸเซเชฐเซ€เชฎ, เชชเชฐเชค เช•เชฐเซเชฏเซเช‚ เชจเซเชฏเซ‚เชธเซ€เชŸเซ€เช†เชฐ เชœเซเชฏเชพเชฐเซ‡ เชธเชพเชฅเซ‡ เชตเชชเชฐเชพเชฏ เช›เซ‡ เช•เซเชฐเชฟเชชเซเชŸเซ‹/เชเช‡เชเชธ เชนเชตเซ‡ amd64 เช…เชจเซ‡ arm64 เชชเชฐ เช…เชจเซ‡เช• เช—เชฃเซเช‚ เชเชกเชชเซ€.

เชจเซเชฏเซ‚เช“เชเชซเชฌเซ€, เชจเซเชฏเซ‚เชธเซ€เชเชซเชฌเซ€เชเชจเช•เซเชฐเชฟเชชเซเชŸเชฐ ะธ เชจเซเชฏเซ‚เชธเซ€เชเชซเชฌเซ€เชกเชฟเช•เซเชฐเชฟเชชเซเชŸเชฐ เชนเชตเซ‡ เช…เชชเซเชฐเชšเชฒเชฟเชค เชœเชพเชนเซ‡เชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เช›เซ‡. OFB เช…เชจเซ‡ CFB เชฎเซ‹เชกเซเชธ เช…เชชเซเชฐเชฎเชพเชฃเชฟเชค เช›เซ‡, เชœเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชธเช•เซเชฐเชฟเชฏ เชนเซเชฎเชฒเชพเช“เชจเซ‡ เชชเซเชฒเซ‡เชจเชŸเซ‡เช•เซเชธเซเชŸเชฎเชพเช‚ เชซเซ‡เชฐเชซเชพเชฐ เช…เชจเซ‡ เชชเซเชจเชƒเชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชญเชฒเชพเชฎเชฃ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ AEAD เชฌเชฆเชฒเชพเชฎเชพเช‚. เชœเซ‹ เช…เชชเซเชฐเชฎเชพเชฃเชฟเชค เชฎเซ‹เชก เชนเซ‹เชฏ เชคเซ‹ เชธเซเชŸเซเชฐเซ€เชฎ เชœเชฐเซ‚เชฐเซ€, เชตเชพเชชเชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡ เชจเซเชฏเซ‚เชธเซ€เชŸเซ€เช†เชฐ เชฌเชฆเชฒเชพเชฎเชพเช‚.

เช•เซเชฐเชฟเชชเซเชŸเซ‹/เช‡เชธเซ€เชกเซ€เชเชธเช

เช–เชพเชจเช—เซ€ เช•เซ€.เชธเชพเช‡เชจ เชนเชตเซ‡ เชเช• เชจเชฟเชฐเซเชฃเชพเชฏเช• เชธเชนเซ€ เชฌเชจเชพเชตเซ‡ เช›เซ‡ เชœเซ‡ เชฎเซเชœเชฌ เช†เชฐเชเชซเชธเซ€ 6979, เชœเซ‹ เชฐเซ‡เชจเซเชกเชฎเชจเซ‡เชธ เชธเซเชคเซเชฐเซ‹เชค เชถเซ‚เชจเซเชฏ เชนเซ‹เชฏ.

เช•เซเชฐเชฟเชชเซเชŸเซ‹/เชเชฎเชกเซ€5

เชชเชฐเชค เชฎเซ‚เชฒเซเชฏ md5.เชจเชตเซเช‚, เชนเชตเซ‡ เช‡เชจเซเชŸเชฐเชซเซ‡เชธ เชชเชฃ เชฒเชพเช—เซ เช•เชฐเซ‡ เช›เซ‡ เชเชจเซเช•เซ‹เชกเชฟเช‚เช—.เชฌเชพเชˆเชจเชฐเซ€เชเชชเซ‡เชจเซเชกเชฐ.

เช•เซเชฐเชฟเชชเซเชŸเซ‹/เชฐเซ‡เชจเซเชก

เช•เชพเชฐเซเชฏ เชตเชพเช‚เชšเชตเซเช‚ เชนเชตเซ‡ เช•เซ‹เชˆ เชจเชฟเชทเซเชซเชณเชคเชพเชจเซ€ เช–เชพเชคเชฐเซ€ เช†เชชเซ‡ เช›เซ‡. เชœเซ‹ เชตเชพเช‚เชšเชคเซ€ เชตเช–เชคเซ‡ เชฐเซ€เชกเชจเซ‡ เช•เซ‹เชˆ เชญเซ‚เชฒ เช†เชตเซ‡ เชฐเซ€เชกเชฐ, เช•เชพเชฐเซเชฏเช•เซเชฐเชฎ เช•เชพเชฏเชฎ เชฎเชพเชŸเซ‡ เชธเชฎเชพเชชเซเชค เชฅเชˆ เชœเชถเซ‡. เชจเซ‹เช‚เชง เช•เชฐเซ‹ เช•เซ‡ เชกเชฟเชซเซ‹เชฒเซเชŸ เชฐเซ€เชกเชฐ เชนเช‚เชฎเซ‡เชถเชพ เชธเชซเชณเชคเชพเชชเซ‚เชฐเซเชตเช• เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡ เชฐเซ€เชคเซ‡ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เซƒเชค เชฅเชฏเซ‡เชฒ เช›เซ‡, เชคเซ‡เชฅเซ€ เช† เชซเซ‡เชฐเชซเชพเชฐ เชซเช•เซเชค เชคเซ‡ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเซเชธเชจเซ‡ เช…เชธเชฐ เช•เชฐเชถเซ‡ เชœเซ‡ เชฐเซ€เชกเชฐ เชšเชฒเชจเซ‡ เช“เชตเชฐเชฐเชพเช‡เชก เช•เชฐเซ‡ เช›เซ‡. เชเช• เช…เชชเชตเชพเชฆ 3.17 เชชเชนเซ‡เชฒเชพเชจเชพ Linux เช•เชฐเซเชจเชฒเชจเซ‹ เช›เซ‡, เชœเซเชฏเชพเช‚ เชกเชฟเชซเซ‹เชฒเซเชŸ เชฐเซ€เชกเชฐ เชนเชœเซ เชชเชฃ /dev/urandom เช–เซ‹เชฒเซ‡ เช›เซ‡ เช…เชจเซ‡ เชจเชฟเชทเซเชซเชณ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡.

Linux 6.11 เช…เชจเซ‡ เชชเช›เซ€เชจเชพ เชตเชฐเซเชเชจ เชชเชฐ, Reader เชนเชตเซ‡ vDSO เชฆเซเชตเชพเชฐเชพ getrandom เชธเชฟเชธเซเชŸเชฎ เช•เซ‹เชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡. เช† เช˜เชฃเซ€ เชตเช–เชค เชเชกเชชเซ€ เช›เซ‡, เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชจเชพเชจเชพ เชตเชพเช‚เชšเชจ เชฎเชพเชŸเซ‡.

OpenBSD เชฐเซ€เชกเชฐ เชชเชฐ เชนเชตเซ‡ arc4random_buf(3) เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฅเชพเชฏ เช›เซ‡.

เชจเชตเซ€ เชธเซเชตเชฟเชงเชพ เชฒเช–เชพเชฃ เชนเชตเซ‡ เช•เซเชฐเชฟเชชเซเชŸเซ‹เช—เซเชฐเชพเชซเชฟเช•เชฒเซ€ เชธเซเชฐเช•เซเชทเชฟเชค เชฐเซ‡เชจเซเชกเชฎ เชŸเซ‡เช•เซเชธเซเชŸ เชธเซเชŸเซเชฐเชฟเช‚เช—เซเชธ เชœเชจเชฐเซ‡เชŸ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡.

เช•เซเชฐเชฟเชชเซเชŸเซ‹/เช†เชฐเชเชธเช

เชœเชจเชฐเซ‡เชŸเช•เซ€ เชœเซ‹ เซงเซฆเซจเซช เชฌเชฟเชŸเซเชธ เช•เชฐเชคเชพ เช“เช›เซ€ เช•เซ€ เชฒเช‚เชฌเชพเชˆเชจเซ€ เชตเชฟเชจเช‚เชคเซ€ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เชคเซ‹ เชนเชตเซ‡ เชญเซ‚เชฒ เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡. เชนเชตเซ‡ เซงเซฆเซจเซช เชฌเชฟเชŸเซเชธ เช•เชฐเชคเชพ เช“เช›เซ€ เช•เซ€ เชธเชพเช‡เช เชธเชพเชฅเซ‡ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชคเซ€ เชตเช–เชคเซ‡ เชฌเชงเซ€ เชธเชพเช‡เชจ, เชตเซ‡เชฐเชฟเชซเชพเช‡, เชเชจเซเช•เซเชฐเชฟเชชเซเชŸ เช…เชจเซ‡ เชกเชฟเช•เซเชฐเชฟเชชเซเชŸ เชชเชฆเซเชงเชคเชฟเช“ เชญเซ‚เชฒ เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡. เช†เชตเซ€ เชšเชพเชตเซ€เช“ เช…เชธเซเชฐเช•เซเชทเชฟเชค เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชจ เช•เชฐเชตเซ‹ เชœเซ‹เชˆเช. GODEBUG เชธเซ‡เชŸ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡ rsa1024min=0 เชœเซ‚เชจเชพ เชตเชฐเซเชคเชจเชจเซ‡ เชชเซเชจเชƒเชธเซเชฅเชพเชชเชฟเชค เช•เชฐเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ Go เชกเซ‡เชตเชฒเชชเชฐเซเชธ เช† เชซเช•เซเชค เชœเชฐเซ‚เชฐเซ€ เชนเซ‹เชฏ เชคเซเชฏเชพเชฐเซ‡ เช…เชจเซ‡ เชซเช•เซเชค เชชเชฐเซ€เช•เซเชทเชฃเซ‹เชฎเชพเช‚ เชœ เช•เชฐเชตเชพเชจเซ€ เชญเชฒเชพเชฎเชฃ เช•เชฐเซ‡ เช›เซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡ เชŸเซ‡เชธเซเชŸ เชซเชพเช‡เชฒเชฎเชพเช‚ //go:debug rsa1024min=0 เชฒเชพเช‡เชจ เช‰เชฎเซ‡เชฐเซ€เชจเซ‡. เชจเชตเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ GenerateKey เชเช• เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชธเชฐเชณ เชธเซเชŸเชพเชจเซเชกเชฐเซเชก 2024-เชฌเซ€เชŸ เชŸเซ‡เชธเซเชŸ เช•เซ€ เชชเซ‚เชฐเซ€ เชชเชพเชกเซ‡ เช›เซ‡.

เชนเชตเซ‡ เช•เซ‰เชฒ เช•เชฐเชตเซ‹ เชตเชงเซ เชธเซเชฐเช•เซเชทเชฟเชค เช…เชจเซ‡ เช•เชพเชฐเซเชฏเช•เซเชทเชฎ เช›เซ‡ เชชเซเชฐเชพเช‡เชตเซ‡เชŸเช•เซ€.เชชเซเชฐเชฟเช•เชฎเซเชชเซเชฏเซเชŸ เชฎเชพเชŸเซ‡ เช–เชพเชจเช—เซ€ เช•เซ€. เชฎเชพเชจเซเชฏ เช•เชฐเซ‹. เช†เช‚เชถเชฟเช• เชฐเซ€เชคเซ‡ เชญเชฐเชพเชฏเซ‡เชฒเชพเชจเซ€ เชนเชพเชœเชฐเซ€เชฎเชพเช‚ เชชเซเชฐเซ€เช•เชฎเซเชชเซเชฏเซเชŸ เชนเชตเซ‡ เชเชกเชชเซ€ เช›เซ‡ เชชเซ‚เชฐเซเชตเช—เชฃเชฟเชค เชฎเซ‚เชฒเซเชฏเซ‹, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, JSON เชฎเชพเช‚เชฅเซ€ เช•เซ€ เช•เชพเชขเชคเซ€ เชตเช–เชคเซ‡.

เชœเซเชฏเชพเชฐเซ‡ Validate เช•เซ‰เชฒ เชจ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เชคเซเชฏเชพเชฐเซ‡ เชชเชฃ เชชเซ‡เช•เซ‡เชœ เชนเชตเซ‡ เชตเชงเซ เช…เชฎเชพเชจเซเชฏ เช•เซ€เชจเซ‡ เชจเช•เชพเชฐเซ‡ เช›เซ‡, เช…เชจเซ‡ เชœเชจเชฐเซ‡เชŸเช•เซ€ เชนเชตเซ‡ เชคเซ‚เชŸเซ‡เชฒเชพ เชฐเซ‡เชจเซเชกเชฎเชจเซ‡เชธ เชธเซเชคเซเชฐเซ‹เชคเซ‹ เชฎเชพเชŸเซ‡ เชจเชตเซ€ เชญเซ‚เชฒเซ‹ เชชเชฐเชค เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡. เช•เซเชทเซ‡เชคเซเชฐเซ‹ เชชเซเชฐเชพเชˆเชฎเซเชธ ะธ เชชเซเชฐเซ€เช•เชฎเซเชชเซเชฏเซเชŸเซ‡เชก เชฎเชพเชณเช–เชพเช‚ เช–เชพเชจเช—เซ€ เช•เซ€ เชœเซเชฏเชพเชฐเซ‡ เช•เซ‡เชŸเชฒเชพเช• เชฎเซ‚เชฒเซเชฏเซ‹ เช–เซ‚เชŸเซ‡ เช›เซ‡ เชคเซเชฏเชพเชฐเซ‡ เชชเชฃ เชนเชตเซ‡ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชฏ เช›เซ‡ เช…เชจเซ‡ เชฎเชพเชจเซเชฏ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชจเซ€เชšเซ‡ เชตเชฐเซเชฃเชตเซ‡เชฒ RSA เช•เซ€เชเชจเซเช‚ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช…เชจเซ‡ เชจเชฟเชทเซเช•เชฐเซเชทเชฃ เชฎเชพเชŸเซ‡ crypto/x509 เชฎเชพเช‚ เชชเชฃ เชซเซ‡เชฐเชซเชพเชฐเซ‹ เช›เซ‡.

เชธเชพเช‡เชจเชชเซ€เช•เซ‡เชธเซ€เชเชธ1เชตเซ€15 ะธ เชšเช•เชพเชธเซ‹PKCS1v15 เชนเชตเซ‡ SHA-512/224, SHA-512/256 เช…เชจเซ‡ SHA-3 เชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเซ‡ เช›เซ‡.

เชœเชจเชฐเซ‡เชŸเช•เซ€ เชนเชตเซ‡ เช–เชพเชจเช—เซ€ เช˜เชพเชคเชพเช‚เช• (เชฏเซเชฒเชฐ เชซเช‚เช•เซเชถเชจเชจเซ‡ เชฌเชฆเชฒเซ‡ เช•เชพเชฐเซเชฎเชพเช‡เช•เชฒ เชซเช‚เช•เซเชถเชจ) เชœเชจเชฐเซ‡เชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฅเซ‹เชกเซ€ เช…เชฒเช— เชชเชฆเซเชงเชคเชฟเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡. เชฆเซเชฐเซเชฒเชญ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซ‹ เชœเซ‡ เชฌเชพเชนเซเชฏ เชฐเซ€เชคเซ‡ เชซเช•เซเชค เช…เชตเชฟเชญเชพเชœเซเชฏ เชธเช‚เช–เซเชฏเชพเช“เชฎเชพเช‚เชฅเซ€ เช•เซ€เช“เชจเซเช‚ เชชเซเชจเชฐเซเชœเซ€เชตเชจ เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡ เช…เชฒเช— เชชเชฃ เชธเซเชธเช‚เช—เชค เชชเชฐเชฟเชฃเชพเชฎเซ‹ เช‰เชคเซเชชเชจเซเชจ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡.

wasm เชชเชฐ เชนเชตเซ‡ เชœเชพเชนเซ‡เชฐ เช…เชจเซ‡ เช–เชพเชจเช—เซ€ เช•เซ€ เชชเชฐ เช•เชพเชฎเช—เซ€เชฐเซ€ เชฌเชฎเชฃเซ€ เชเชกเชชเซ€ เช›เซ‡.

เช•เซเชฐเชฟเชชเซเชŸเซ‹/เชถเชพ*

เช—เซเชชเซเชค/เชธเซ‚เช•เซเชทเซเชฎ

เชจเชตเซ€ เชธเซเชตเชฟเชงเชพ เชกเซ‡เชŸเชพ เชธเซเชตเชคเช‚เชคเซเชฐ เชธเชฎเชฏ เชธเชพเชฅเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซ‡ เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ-เชตเชฟเชถเชฟเชทเซเชŸ เชธเซเชตเชฟเชงเชพเช“ เชธเช•เซเชทเชฎ เชธเชพเชฅเซ‡ เชเช• เช•เชพเชฐเซเชฏ เชšเชฒเชพเชตเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡ เชœเซ‡ เช–เชพเชคเชฐเซ€ เช•เชฐเซ‡ เช›เซ‡ เช•เซ‡ เชกเซ‡เชŸเชพ เชฎเซ‚เชฒเซเชฏเชจเชพ เชธเชฎเชฏเชจเซ€ เชคเซเชฒเชจเชพเชฎเชพเช‚ เชšเซ‹เช•เซเช•เชธ เชธเซ‚เชšเชจเชพเช“ เชฌเชฆเชฒเชพเชคเซ€ เชจเชฅเซ€. เช†เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช เชธเซเชจเชฟเชถเซเชšเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡ เช•เซ‡ เชธเชคเชค เชธเชฎเชฏเชฎเชพเช‚ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชฒเช–เชพเชฏเซ‡เชฒ เช•เซ‹เชก เชชเซเชฐเซ‹เชธเซ‡เชธเชฐ-เชธเซเชคเชฐเชจเชพ เช•เชพเชฐเซเชฏเซ‹ เชฆเซเชตเชพเชฐเชพ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เช เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชจเชฅเซ€ เชœเซ‡เชฅเซ€ เชคเซ‡ เชšเชฒ เชธเชฎเชฏเชฎเชพเช‚ เชšเชพเชฒเซ‡. เชนเชพเชฒเชฎเชพเช‚ WithDataIndependentTiming arm64 เชชเชฐ PSTATE.DIT เชฌเซ€เชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เช…เชจเซเชฏ เชคเชฎเชพเชฎ เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ เชชเชฐ เช•เช‚เชˆ เช•เชฐเชคเซเช‚ เชจเชฅเซ€. GODEBUG เชธเซ‡เชŸ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡ dataindependenttiming=1 เชธเชฎเช—เซเชฐ Go เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎ เชฎเชพเชŸเซ‡ DIT เชฎเซ‹เชกเชจเซ‡ เชธเช•เซเชทเชฎ เช•เชฐเซ‡ เช›เซ‡.

เชจเชฟเชทเซเช•เชฐเซเชท XORBytesName เช‡เชจเชชเซเชŸ เชธเชพเชฅเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เช“เชตเชฐเชฒเซ‡เชช เชฅเชตเซเช‚ เชœเซ‹เชˆเช เช…เชฅเชตเชพ เชฌเชฟเชฒเช•เซเชฒ เชจเชนเซ€เช‚. เชชเชนเซ‡เชฒเชพเช‚ เชตเชฐเซเชคเชจ เช…เชจเซเชฏเชฅเชพ เช…เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เชนเชคเซเช‚, เชœเซเชฏเชพเชฐเซ‡ เชนเชตเซ‡ XORBytes เช—เชญเชฐเชพเชˆ เชœเชถเซ‡.

เช•เซเชฐเชฟเชชเซเชŸเซ‹/tls

TLS เชธเชฐเซเชตเชฐ เชนเชตเซ‡ เชเชจเซเช•เซเชฐเชฟเชชเซเชŸเซ‡เชก เช•เซเชฒเชพเชฏเช‚เชŸ เชนเซ‡เชฒเซ‹ (ECH) เชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเซ‡ เช›เซ‡. เช† เชธเซเชตเชฟเชงเชพ เชซเซ€เชฒเซเชก เชญเชฐเซ€เชจเซ‡ เชธเช•เซเชทเชฎ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. เชฐเซ‚เชชเชฐเซ‡เช–เชพ.เชเชจเซเช•เซเชฐเชฟเชชเซเชŸเซ‡เชกเช•เซเชฒเชพเชฏเช‚เชŸเชนเซ‡เชฒเซ‹เช•เซ€เช.

เช•เซเชตเซ‹เชจเซเชŸเชฎ เชชเช›เซ€เชจเซ€ เชจเชตเซ€ เช•เซ€ เชเช•เซเชธเชšเซ‡เชจเซเชœ เชฎเชฟเช•เซ‡เชจเชฟเชเชฎ X25519MLKEM768 เชจเซ‹ เชชเชฐเชฟเชšเชฏ เชนเชตเซ‡ เชœเซเชฏเชพเชฐเซ‡ เชกเชฟเชซเซ‹เชฒเซเชŸ เชฐเซ‚เชชเซ‡ เชธเชฎเชฐเซเชฅเชฟเชค เช…เชจเซ‡ เชธเช•เซเชทเชฎ เชนเซ‹เชฏ เชคเซเชฏเชพเชฐเซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ.เช•เชฐเซเชตเชชเชธเช‚เชฆเช—เซ€เช“ เชถเซ‚เชจเซเชฏ เช›เซ‡. GODEBUG เชธเซ‡เชŸ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡ tlsmlkem=0 เชกเชฟเชซเซ‹เชฒเซเชŸ เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡.

เชชเซเชฐเชพเชฏเซ‹เช—เชฟเช• X25519Kyber768Draft00 เช•เซ€ เชเช•เซเชธเชšเซ‡เชจเซเชœ เชฎเชพเชŸเซ‡ เชธเชชเซ‹เชฐเซเชŸ เชฆเซ‚เชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡.

เช•เซ€ เชเช•เซเชธเชšเซ‡เชจเซเชœ เช“เชฐเซเชกเชฐ เชนเชตเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ crypto/tls เชชเซ‡เช•เซ‡เชœ เชฆเซเชตเชพเชฐเชพ เชจเชฟเชฏเช‚เชคเซเชฐเชฟเชค เชฅเชพเชฏ เช›เซ‡. เช“เชฐเซเชกเชฐ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ.เช•เชฐเซเชตเชชเชธเช‚เชฆเช—เซ€เช“ เชนเชตเซ‡ เช…เชตเช—เชฃเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชธเชฎเชพเชตเชฟเชทเซเชŸเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชซเช•เซเชค เชคเซ‡ เชจเช•เซเช•เซ€ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡ เช•เซ‡ เชœเซเชฏเชพเชฐเซ‡ เชซเซ€เชฒเซเชก เชญเชฐเชพเชฏ เชคเซเชฏเชพเชฐเซ‡ เช•เชฏเชพ เช•เซ€ เชเช•เซเชธเชšเซ‡เชจเซเชœเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เช•เชฐเชตเซ‹.

เชจเชตเซเช‚ เช•เซเชทเซ‡เชคเซเชฐ เช•เซเชฒเชพเชฏเช‚เชŸเชนเซ‡เชฒเซ‹เช‡เชจเซเชซเซ‹.เชเช•เซเชธเซเชŸเซ‡เชจเซเชถเชจเซเชธ เช•เซเชฒเชพเชฏเช‚เชŸ เชนเซ‡เชฒเซ‹ เชธเช‚เชฆเซ‡เชถเชฎเชพเช‚ เชชเซเชฐเชพเชชเซเชค เชฅเชฏเซ‡เชฒเชพ เชเช•เซเชธเชŸเซ‡เชจเซเชถเชจ เช“เชณเช–เช•เชฐเซเชคเชพเช“เชจเซ€ เชธเซ‚เชšเชฟ เชฆเชฐเซเชถเชพเชตเซ‡ เช›เซ‡. เช† TLS เช•เซเชฒเชพเชฏเชจเซเชŸเซเชธเชจเซ€ เชซเชฟเช‚เช—เชฐเชชเซเชฐเชฟเชจเซเชŸเชฟเช‚เช— เชฎเชพเชŸเซ‡ เช‰เชชเชฏเซ‹เช—เซ€ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡.

เช•เซเชฐเชฟเชชเซเชŸเซ‹/x509

GODEBUG เชธเซ‡เชŸ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡ x509sha1 เชฆเซ‚เชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡. เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ.เชšเช•เชพเชธเชฃเซ€ เช•เชฐเซ‹ เชนเชตเซ‡ SHA-1 เช†เชงเชพเชฐเชฟเชค เชธเชนเซ€เช“เชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเชคเซเช‚ เชจเชฅเซ€.

OID เชนเชตเซ‡ เช‡เชจเซเชŸเชฐเชซเซ‡เชธ เชฒเชพเช—เซ เช•เชฐเซ‡ เช›เซ‡ เชเชจเซเช•เซ‹เชกเชฟเช‚เช—.เชฌเชพเชˆเชจเชฐเซ€เชเชชเซ‡เชจเซเชกเชฐ ะธ เชเชจเซเช•เซ‹เชกเชฟเช‚เช—.เชŸเซ‡เช•เซเชธเซเชŸเชเชชเซ‡เชจเซเชกเชฐ.

เชกเชฟเชซเซ‹เชฒเซเชŸ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เชจเซ€เชคเชฟ เช•เซเชทเซ‡เชคเซเชฐ เช†เชฎเชพเช‚เชฅเซ€ เชฌเชฆเชฒเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ.เชจเซ€เชคเชฟ เช“เชณเช–เช•เชฐเซเชคเชพเช“ เชชเชฐ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ.เชจเซ€เชคเชฟเช“. เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเซ‹เชจเซเช‚ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เชฌเช‚เชจเซ‡ เชซเซ€เชฒเซเชก เชญเชฐเชพเชถเซ‡, เชชเชฐเช‚เชคเซ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เชจเซ€เชคเชฟ เชฌเชจเชพเชตเชคเซ€ เชตเช–เชคเซ‡, เชคเซ‡ Certificate.PolicyIdentifiers เชจเซ‡ เชฌเชฆเชฒเซ‡ Certificate.Policies เชซเซ€เชฒเซเชกเชฎเชพเช‚เชฅเซ€ เชฒเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡. เช† เชซเซ‡เชฐเชซเชพเชฐ เช‰เชฒเชŸเชพเชตเซ€ เชถเช•เชพเชฏ เช›เซ‡. GODEBUG เชธเซ‡เชŸเช…เชช x509เช‰เชชเชฏเซ‹เช—เชจเซ€เชคเชฟเช“=0.

เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เชฌเชจเชพเชตเซ‹ เชนเชตเซ‡ เชŸเซ‡เชฎเซเชชเชฒเซ‡เชŸ เชซเซ€เชฒเซเชก เชชเชธเชพเชฐ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ RFC 5280 เชธเซเชธเช‚เช—เชค เชชเชฆเซเชงเชคเชฟเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชธเซ€เชฐเซ€เชฏเชฒ เชจเช‚เชฌเชฐ เชœเชจเชฐเซ‡เชŸ เช•เชฐเชถเซ‡. เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ. เชธเซ€เชฐเซ€เชฏเชฒ เชจเช‚เชฌเชฐ เช•เช‚เชˆ เชจเชนเซ€เช‚, เช•เซเชฐเซ‡เชถ เชฅเชตเชพเชจเซ‡ เชฌเชฆเชฒเซ‡.

เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ.เชšเช•เชพเชธเชฃเซ€ เช•เชฐเซ‹ เชนเชตเซ‡ RFC 5280 เช…เชจเซ‡ RFC 9618 เชฎเชพเช‚ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เชจเซ€เชคเชฟ เชฎเชพเชจเซเชฏเชคเชพเชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเซ‡ เช›เซ‡. เชจเชตเซเช‚ เช•เซเชทเซ‡เชคเซเชฐ เชตเชฟเช•เชฒเซเชชเซ‹ เชšเช•เชพเชธเซ‹.เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเชจเซ€เชคเชฟเช“ เชธเซเชตเซ€เช•เชพเชฐเซเชฏ เชจเซ€เชคเชฟเช“เชจเชพ เชธเซ‡เชŸ เชชเชฐ เชธเซ‡เชŸ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡ เช“เช†เชˆเชกเซ€. เชซเช•เซเชค เชฎเชพเชจเซเชฏ เชจเซ€เชคเชฟ เช—เซเชฐเชพเชซ เชงเชฐเชพเชตเชคเซ€ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เชธเชพเช‚เช•เชณเซ‹ เชœ เชชเชฐเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ.เชšเช•เชพเชธเชฃเซ€ เช•เชฐเซ‹.

เชฎเชพเชฐเซเชถเชฒเชชเซ€เช•เซ‡เชธเซ€เชเชธ8เชชเซเชฐเชพเช‡เชตเซ‡เชŸเช•เซ€ เชนเชตเซ‡ เช…เชฎเชพเชจเซเชฏ RSA เช•เซ€ เชฎเซ‡เชณเชตเชตเชพเชจเซ‡ เชฌเชฆเชฒเซ‡ เชญเซ‚เชฒ เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡. (เชฎเชพเชฐเซเชถเชฒเชชเซ€เช•เซ‡เชธเซ€เชเชธ1เชชเซเชฐเชพเช‡เชตเซ‡เชŸเช•เซ€ (เช•เซ‹เชˆ เชญเซ‚เชฒ เชฐเซ€เชŸเชฐเซเชจ เชจเชฅเซ€ เช…เชจเซ‡ เชœเซเชฏเชพเชฐเซ‡ เช…เชฎเชพเชจเซเชฏ เช•เซ€ เช†เชชเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชคเซเชฏเชพเชฐเซ‡ เชคเซ‡เชจเซเช‚ เชตเชฐเซเชคเชจ เช…เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เชฐเชนเซ‡ เช›เซ‡.)

เชชเชพเชฐเซเชธเชชเซ€เช•เซ‡เชธเซ€เชเชธ1เชชเซเชฐเชพเช‡เชตเซ‡เชŸเช•เซ€ ะธ เชชเชพเชฐเซเชธเชชเซ€เช•เซ‡เชธเซ€เชเชธ8เชชเซเชฐเชพเช‡เชตเซ‡เชŸเช•เซ€ เชนเชตเซ‡ เชเชจเซเช•เซ‹เชกเซ‡เชก CRT เชฎเซ‚เชฒเซเชฏเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช…เชจเซ‡ เชฎเชพเชจเซเชฏเชคเชพ เช•เชฐเซ‹, เชœเซ‡เชฅเซ€ เช…เช—เชพเช‰ เชธเซเชตเซ€เช•เซƒเชค เช…เชฎเชพเชจเซเชฏ RSA เช•เซ€เชจเซ‡ เชจเช•เชพเชฐเซ€ เชถเช•เชพเชฏ. เช‰เชชเชฏเซ‹เช— GODEBUG เชธเซ‡เชŸเชฟเช‚เช—เซเชธ x509rsacrt=0 CRT เชฎเซ‚เชฒเซเชฏเซ‹เชจเซ€ เชชเซเชจเชƒเช—เชฃเชคเชฐเซ€ เชชเชฐ เชชเชพเช›เชพ เชซเชฐเซ‡ เช›เซ‡.

เชกเซ€เชฌเช—/เชเชฒเซเชซ

เชชเซ‡เช•เซ‡เชœ เชกเซ€เชฌเช—/เชเชฒเซเชซ เช—เชคเชฟเชถเซ€เชฒ ELF (เชเช•เซเชเชฟเช•เซเชฏเซเชŸเซ‡เชฌเชฒ เช…เชจเซ‡ เชฒเชฟเช‚เช•เซ‡เชฌเชฒ เชซเซ‹เชฐเซเชฎเซ‡เชŸ) เชซเชพเช‡เชฒเซ‹เชฎเชพเช‚ เชชเซเชฐเชคเซ€เช• เชธเช‚เชธเซเช•เชฐเชฃเซ‹เชจเซ‡ เชนเซ‡เชจเซเชกเชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช‰เชฎเซ‡เชฐเซ‡ เช›เซ‡. เชจเชตเซ€ เชชเชฆเซเชงเชคเชฟ เชซเชพเช‡เชฒ.เชกเชพเชฏเชจเซ‡เชฎเชฟเช• เชตเชฐเซเชเชจ ELF เชซเชพเช‡เชฒเชฎเชพเช‚ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช—เชคเชฟเชถเซ€เชฒ เชธเช‚เชธเซเช•เชฐเชฃเซ‹เชจเซ€ เชธเซ‚เชšเชฟ เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡. เชจเชตเซ€ เชชเชฆเซเชงเชคเชฟ เชซเชพเช‡เชฒ.เชกเชพเชฏเชจเซ‡เชฎเชฟเช• เชตเชฐเซเชเชจเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เช† ELF เชซเชพเช‡เชฒ เชฆเซเชตเชพเชฐเชพ เชœเชฐเซ‚เชฐเซ€ เช—เชคเชฟเชถเซ€เชฒ เชธเช‚เชธเซเช•เชฐเชฃเซ‹เชจเซ€ เชธเซ‚เชšเชฟ เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡ เชœเซ‡ เช…เชจเซเชฏ ELF เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธเชฎเชพเช‚ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช›เซ‡. เช›เซ‡เชฒเซเชฒเซ‡, เชจเชตเชพ เช•เซเชทเซ‡เชคเซเชฐเซ‹ เชชเซเชฐเชคเซ€เช•.เชนเชพเชธเชตเชฐเซเชเชจ ะธ เชชเซเชฐเชคเซ€เช•.เชธเช‚เชธเซเช•เชฐเชฃ เช…เชจเซเช•เซเชฐเชฎเชฃเชฟเช•เชพ เชชเซเชฐเชคเซ€เช•เชจเซเช‚ เชธเช‚เชธเซเช•เชฐเชฃ เชธเซ‚เชšเชตเซ‹.

เชเชจเซเช•เซ‹เชกเชฟเช‚เช—

เชฌเซ‡ เชจเชตเชพ เช‡เชจเซเชŸเชฐเชซเซ‡เชธ เชŸเซ‡เช•เซเชธเซเชŸ เชเชชเซ‡เชจเซเชกเชฐ ะธ เชฌเชพเชˆเชจเชฐเซ€ เชเชชเซ‡เชจเซเชกเชฐ เชฌเชพเช‡เชŸ เชธเซเชฒเชพเช‡เชธเชฎเชพเช‚ เช‘เชฌเซเชœเซ‡เช•เซเชŸเชจเซเช‚ เชŸเซ‡เช•เซเชธเซเชŸ เช…เชฅเชตเชพ เชฌเชพเชฏเชจเชฐเซ€ เชชเซเชฐเชคเชฟเชจเชฟเชงเชฟเชคเซเชต เช‰เชฎเซ‡เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฐเชœเซ‚ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชนเชคเชพ. เช† เช‡เชจเซเชŸเชฐเชซเซ‡เชธเซ‹ เชธเชฎเชพเชจ เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡ เชœเซ‡เชฎ เช•เซ‡ เชŸเซ‡เช•เซเชธเซเชŸเชฎเชพเชฐเซเชถเชฒเชฐ ะธ เชฌเชพเชˆเชจเชฐเซ€เชฎเชพเชฐเซเชถเชฒเชฐ, เชชเชฐเช‚เชคเซ เชฆเชฐ เชตเช–เชคเซ‡ เชจเชตเซ€ เชธเซเชฒเชพเช‡เชธ เชซเชพเชณเชตเชตเชพเชจเซ‡ เชฌเชฆเชฒเซ‡, เชคเซ‡เช“ เชนเชพเชฒเชจเซ€ เชธเซเชฒเชพเช‡เชธเชฎเชพเช‚ เชธเซ€เชงเซ‹ เชกเซ‡เชŸเชพ เช‰เชฎเซ‡เชฐเซ‡ เช›เซ‡. เช† เช‡เชจเซเชŸเชฐเชซเซ‡เชธเซ‹ เชนเชพเชฒเชฎเชพเช‚ เชธเซเชŸเชพเชจเซเชกเชฐเซเชก เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เชชเซเชฐเช•เชพเชฐเซ‹ เชฆเซเชตเชพเชฐเชพ เชฒเชพเช—เซ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชœเซ‡ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เชŸเซ‡เช•เซเชธเซเชŸเชฎเชพเชฐเซเชถเชฒเชฐ เช…เชจเซ‡/เช…เชฅเชตเชพ เชฌเชพเช‡เชจเชฐเซ€เชฎเชพเชฐเซเชถเชฒเชฐเชจเซ‹ เช…เชฎเชฒ เช•เชฐเซ‡ เช›เซ‡.

เชเชจเซเช•เซ‹เชกเชฟเช‚เช—/เชœเซ‡เชเชธเช“เชจ

เชฌเชฟเชฒเซเชก เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เชธเซเชŸเซเชฐเช•เซเชšเชฐ เชซเซ€เชฒเซเชก เชŸเซ‡เช—เชฎเชพเช‚ เชจเชตเชพ omitzero เชตเชฟเช•เชฒเซเชช เชธเชพเชฅเซ‡เชจเซเช‚ เชธเซเชŸเซเชฐเช•เซเชšเชฐ เชซเซ€เชฒเซเชก เช…เชตเช—เชฃเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ เชœเซ‹ เชคเซ‡เชจเซเช‚ เชฎเซ‚เชฒเซเชฏ เชถเซ‚เชจเซเชฏ เชนเชถเซ‡. เชœเซ‹ เชซเซ€เชฒเซเชก เชชเซเชฐเช•เชพเชฐเชฎเชพเช‚ IsZero() bool เชชเชฆเซเชงเชคเชฟ เชนเซ‹เชฏ, เชคเซ‹ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฎเซ‚เชฒเซเชฏ เชถเซ‚เชจเซเชฏ เช›เซ‡ เช•เซ‡ เชจเชนเซ€เช‚ เชคเซ‡ เชจเช•เซเช•เซ€ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชถเซ‡. เชจเชนเชฟเช‚เชคเชฐ เชฎเซ‚เชฒเซเชฏ เชถเซ‚เชจเซเชฏ เชนเชถเซ‡ เชœเซ‹ เชคเซ‡ เชคเซ‡เชจเชพ เชชเซเชฐเช•เชพเชฐ เชฎเชพเชŸเซ‡ เชถเซ‚เชจเซเชฏ เชฎเซ‚เชฒเซเชฏ. เชœเซเชฏเชพเชฐเซ‡ เชจเชฒ เชตเซ‡เชฒเซเชฏเซเชจเซ‡ เช›เซ‹เชกเซ€ เชฆเซ‡เชตเชพเชจเซ‹ เชนเซ‡เชคเซ เชนเซ‹เชฏ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ omitzero เชซเซ€เชฒเซเชก เชŸเซ‡เช— omitempty เช•เชฐเชคเชพ เชตเชงเซ เชธเซเชตเชšเซเช› เช…เชจเซ‡ เช“เช›เซ€ เชญเซ‚เชฒ-เชธเช‚เชญเชตเชฟเชค เชนเซ‹เชฏ เช›เซ‡. เช–เชพเชธ เช•เชฐเซ€เชจเซ‡, omitempty เชฅเซ€ เชตเชฟเชชเชฐเซ€เชค, omitzero เชถเซ‚เชจเซเชฏเชจเซ‡ เช›เซ‹เชกเซ€ เชฆเซ‡ เช›เซ‡ เชธเชฎเชฏ.เชธเชฎเชฏ เชฎเซ‚เชฒเซเชฏเซ‹, เชœเซ‡ เชธเชฎเชธเซเชฏเชพเช“เชจเซ‹ เชเช• เชธเชพเชฎเชพเชจเซเชฏ เชธเซเชคเซเชฐเซ‹เชค เช›เซ‡.

เชœเซ‹ omitempty เช…เชจเซ‡ omitzero เชฌเช‚เชจเซ‡ เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เชนเซ‹เชฏ, เชคเซ‹ เชœเซ‹ เชฎเซ‚เชฒเซเชฏ เช–เชพเชฒเซ€ เช…เชฅเชตเชพ เชถเซ‚เชจเซเชฏ (เช…เชฅเชตเชพ เชฌเช‚เชจเซ‡) เชนเซ‹เชฏ เชคเซ‹ เชซเซ€เชฒเซเชก เช…เชตเช—เชฃเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡.

เช…เชจเชฎเชพเชฐเซเชถเชฒเชŸเชพเช‡เชชเชเชฐเชฐ.เชซเชฟเชฒเซเชก เชนเชตเซ‡ เชตเชงเซ เชตเชฟเช—เชคเชตเชพเชฐ เชญเซ‚เชฒ เชธเช‚เชฆเซ‡เชถเชพเช“ เชชเซเชฐเชฆเชพเชจ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฌเชฟเชฒเซเชŸ-เช‡เชจ เชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชธเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡.

เช—เซ‹/เชŸเชพเช‡เชชเซเชธ

เชฌเชงเชพ go/types เชกเซ‡เชŸเชพ เชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชธ เชœเซ‡ เชฎเซ‡เชฅเชก เชœเซ‹เชกเซ€เช“เชจเชพ เชธเชฟเช•เซเชตเชจเซเชธเชจเซ‡ เชเช•เซเชธเชชเซ‹เช เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡เชฎ เช•เซ‡ Len() int เช…เชจเซ‡ At(int) T, เชนเชตเซ‡ เชเชตเซ€ เชชเชฆเซเชงเชคเชฟเช“ เชชเชฃ เชงเชฐเชพเชตเซ‡ เช›เซ‡ เชœเซ‡ เช‡เชŸเชฐเซ‡เชŸเชฐเซเชธ เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡ เช†เชจเชพ เชœเซ‡เชตเชพ เชธเชฐเชณ เช•เซ‹เชกเชจเซ‡ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡:

i เชฎเชพเชŸเซ‡ เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐเซเชธ := fn.Type.(*types.Signature).Params() := 0; i <เชชเชฐเชฟเชฎเชพเชฃ.เชฒเซ‡เชจ(); i++ { เช‰เชชเชฏเซ‹เช— (เชชเชฐเชฟเชฎเชพเชฃ.เชเชŸ (i)) }

เช†เชจเชพ เชชเชฐ:

เชชเชฐเชฎ เชฎเชพเชŸเซ‡ := เชถเซเชฐเซ‡เชฃเซ€ fn.เชธเชฟเช—เซเชจเซ‡เชšเชฐ().เชชเชฐเชฎ().เชตเซ‡เชฐเชฟเชฏเซ‡เชฌเชฒเซเชธ() { เช‰เชชเชฏเซ‹เช—(เชชเชฐเชฎ) }

เชชเชฆเซเชงเชคเชฟเช“: เช‡เชจเซเชŸเชฐเชซเซ‡เชธ.เชเชฎเซเชฌเซ‡เชกเซ‡เชก เชชเซเชฐเช•เชพเชฐเซ‹ เช‡เชจเซเชŸเชฐเชซเซ‡เชธ.เชธเซเชชเชทเซเชŸ เชชเชฆเซเชงเชคเชฟเช“ เช‡เชจเซเชŸเชฐเชซเซ‡เชธ.เชชเชฆเซเชงเชคเชฟเช“ เชฎเซ‡เชฅเชกเชธเซ‡เชŸ.เชฎเซ‡เชฅเซ‹เชกเซเชธ เชจเชพเชฎเชตเชพเชณเซ€.เชชเชฆเซเชงเชคเชฟเช“ เชธเซเช•เซ‹เชช.เชฌเชพเชณเช•เซ‹ เชฎเชพเชณเช–เซเช‚.เช•เซเชทเซ‡เชคเซเชฐเซ‹ เชŸเซเชชเชฒ.เชตเซ‡เชฐเชฟเชฏเซ‡เชฌเชฒเซเชธ เชชเซเชฐเช•เชพเชฐ เชฏเชพเชฆเซ€.เชชเซเชฐเช•เชพเชฐเซ‹ เชชเซเชฐเช•เชพเชฐเชชเชฐเชฎเชฒเชฟเชธเซเชŸ.เชชเซเชฐเช•เชพเชฐเชชเชฐเชฎ เชฏเซเชจเชฟเชฏเชจ.เชถเชฐเชคเซ‹

เชนเซ‡เชถ/*

เชฒเซ‹เช—/เชธเซเชฒเซ‹เช—

เชจเชตเซ€ เชกเชฟเชธเช•เชพเชฐเซเชกเชนเซ‡เชจเซเชกเชฒเชฐ เชเช• เชนเซ‡เชจเซเชกเชฒเชฐ เช›เซ‡ เชœเซ‡ เช•เซเชฏเชพเชฐเซ‡เชฏ เชธเช•เซเชทเชฎ เชฅเชคเซเช‚ เชจเชฅเซ€ เช…เชจเซ‡ เชนเช‚เชฎเซ‡เชถเชพ เชคเซ‡เชจเชพ เช†เช‰เชŸเชชเซเชŸเชจเซ‡ เช•เชพเชขเซ€ เชจเชพเช–เซ‡ เช›เซ‡.

เชธเซเชคเชฐ ะธ เชฒเซ‡เชตเชฒเชตเชพเชฐ เชนเชตเซ‡ เช‡เชจเซเชŸเชฐเชซเซ‡เชธ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เซ‹ เชเชจเซเช•เซ‹เชกเชฟเช‚เช—.เชŸเซ‡เช•เซเชธเซเชŸเชเชชเซ‡เชจเซเชกเชฐ.

เช—เชฃเชฟเชค/*

เชจเซ‡เชŸ

เชฒเชฟเชธเชจเช•เซ‹เชจเซเชกเชฟเช— เชนเชตเซ‡ เชœเซเชฏเชพเช‚ เชคเซ‡ เชธเชชเซ‹เชฐเซเชŸเซ‡เชก เช›เซ‡ เชคเซเชฏเชพเช‚ เชกเชฟเชซเซ‹เชฒเซเชŸ เชฐเซ‚เชชเซ‡ MPTCP เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡ (เชนเชพเชฒเชฎเชพเช‚ เชซเช•เซเชค Linux เชชเชฐ).

IP เชนเชตเซ‡ เช‡เชจเซเชŸเชฐเชซเซ‡เชธ เชฒเชพเช—เซ เช•เชฐเซ‡ เช›เซ‡ เชเชจเซเช•เซ‹เชกเชฟเช‚เช—.เชŸเซ‡เช•เซเชธเซเชŸเชเชชเซ‡เชจเซเชกเชฐ.

เชจเซ‡เชŸ/http

เชชเซเชฐเชคเชฟเชฌเช‚เชง เชฌเชฆเชฒเชพเชˆ เช—เชฏเซ‹ เช›เซ‡ เชŸเซเชฐเชพเชจเซเชธเชชเซ‹เชฐเซเชŸ เชตเชฟเชจเช‚เชคเซ€เชจเชพ เชœเชตเชพเชฌเชฎเชพเช‚ เชชเซเชฐเชพเชชเซเชค เชฅเชฏเซ‡เชฒเชพ 1xx เชฎเชพเชนเชฟเชคเซ€ เชชเซเชฐเชคเชฟเชญเชพเชตเซ‹ เชฎเชพเชŸเซ‡. เชชเชนเซ‡เชฒเชพเช‚ เช† เชตเชฟเชจเช‚เชคเซ€เชจเซ‡ เชฌเช‚เชง เช•เชฐเชคเซเช‚ เชนเชคเซเช‚ เช…เชจเซ‡ 5 เชฅเซ€ เชตเชงเซ 1xx เชชเซเชฐเชคเชฟเชญเชพเชตเซ‹ เชชเซเชฐเชพเชชเซเชค เช•เชฐเซเชฏเชพ เชชเช›เซ€ เชญเซ‚เชฒ เชชเชฐเชค เช•เชฐเชคเซเช‚ เชนเชคเซเช‚. เช† เชนเชตเซ‡ เชซเช•เซเชค เชคเซเชฏเชพเชฐเซ‡ เชœ เชญเซ‚เชฒ เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡ เชœเซ‹ เชฌเชงเชพ 1xx เชชเซเชฐเชคเชฟเชญเชพเชตเซ‹เชจเซเช‚ เช•เซเชฒ เช•เชฆ เชฐเซ‚เชชเชฐเซ‡เช–เชพ เชธเซ‡เชŸเชฟเช‚เช— เช•เชฐเชคเชพเช‚ เชตเชงเซ€ เชœเชพเชฏ. เชŸเซเชฐเชพเชจเซเชธเชชเซ‹เชฐเซเชŸ.เชฎเซ‡เช•เซเชธเชฐเซ‡เชธเซเชชเซ‹เชจเซเชธเชนเซ‡เชกเชฐเชฌเชพเช‡เชŸเซเชธ.

เช‰เชชเชฐเชพเช‚เชค, เชœเซเชฏเชพเชฐเซ‡ เชตเชฟเชจเช‚เชคเซ€เชฎเชพเช‚ เชŸเซเชฐเซ‡เช•เชฟเช‚เช— เชนเซ‚เช• เชนเซ‹เชฏ เช›เซ‡ เชจเซ‡เชŸ/http/httptrace.ClientTrace.Got1xx เชชเซเชฐเชคเชฟเชญเชพเชต, เชนเชตเซ‡ เชœเชตเชพเชฌเซ‹เชจเซ€ เช•เซเชฒ เชธเช‚เช–เซเชฏเชพ 1xx เชชเชฐ เช•เซ‹เชˆ เชฎเชฐเซเชฏเชพเชฆเชพ เชจเชฅเซ€. Got1xxResponse เชนเซ‚เช• เชตเชฟเชจเช‚เชคเซ€เชจเซ‡ เชฐเซ‹เช•เชตเชพ เชฎเชพเชŸเซ‡ เชญเซ‚เชฒ เชชเชฐเชค เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡.

เชŸเซเชฐเชพเชจเซเชธเชชเซ‹เชฐเซเชŸ ะธ เชธเชฐเซเชตเชฐ เชนเชตเซ‡ เชเช• HTTP2 เชซเซ€เชฒเซเชก เช›เซ‡ เชœเซ‡ HTTP/2 เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒ เชธเซ‡เชŸเชฟเช‚เช—เซเชธเชจเซ‡ เช—เซ‹เช เชตเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.

เชจเชตเชพ เช•เซเชทเซ‡เชคเซเชฐเซ‹ เชธเชฐเซเชตเชฐ.เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒเซเชธ ะธ เชŸเซเชฐเชพเชจเซเชธเชชเซ‹เชฐเซเชŸ.เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒ เชธเชฐเซเชตเชฐ เช…เชฅเชตเชพ เช•เซเชฒเชพเชฏเช‚เชŸ เช•เชฏเชพ HTTP เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡ เช—เซ‹เช เชตเชตเชพเชจเซ€ เชธเชฐเชณ เชฐเซ€เชค เชชเซ‚เชฐเซ€ เชชเชพเชกเซ‡ เช›เซ‡.

เชธเชฐเซเชตเชฐ เช…เชจเซ‡ เช•เซเชฒเชพเชฏเช‚เชŸเชจเซ‡ เช…เชจเชเชจเซเช•เซเชฐเชฟเชชเซเชŸเซ‡เชก HTTP/2 เช•เชจเซ‡เช•เซเชถเชจเซเชธเชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช—เซ‹เช เชตเซ€ เชถเช•เชพเชฏ เช›เซ‡.

เชœเซเชฏเชพเชฐเซ‡ เชธเชฐเซเชตเชฐ.เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒเซเชธ UnencrypterHTTP2 เชธเชฎเชพเชตเซ‡ เช›เซ‡, เชคเซ‹ เชธเชฐเซเชตเชฐ เช…เชจเชเชจเซเช•เซเชฐเชฟเชชเซเชŸเซ‡เชก เชชเซ‹เชฐเซเชŸ เชชเชฐ HTTP/2 เช•เชจเซ‡เช•เซเชถเชจ เชธเซเชตเซ€เช•เชพเชฐเชถเซ‡. เชธเชฐเซเชตเชฐ เชเช• เชœ เชชเซ‹เชฐเซเชŸ เชชเชฐ HTTP/1 เช…เชจเซ‡ เช…เชจเชเชจเซเช•เซเชฐเชฟเชชเซเชŸเซ‡เชก HTTP/2 เชฌเช‚เชจเซ‡ เชธเซเชตเซ€เช•เชพเชฐเซ€ เชถเช•เซ‡ เช›เซ‡.

เชœเซเชฏเชพเชฐเซ‡ เชŸเซเชฐเชพเชจเซเชธเชชเซ‹เชฐเซเชŸ.เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒ เช…เชจเชเชจเซเช•เซเชฐเชฟเชชเซเชŸเซ‡เชกHTTP2 เชงเชฐเชพเชตเซ‡ เช›เซ‡ เช…เชจเซ‡ HTTP1 เชงเชฐเชพเชตเชคเซเช‚ เชจเชฅเซ€, เชŸเซเชฐเชพเชจเซเชธเชชเซ‹เชฐเซเชŸ เชธเชฐเชจเชพเชฎเชพเช‚ เชฎเชพเชŸเซ‡ เช…เชจเชเชจเซเช•เซเชฐเชฟเชชเซเชŸเซ‡เชก HTTP/2 เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชถเซ‡ http://. เชœเซ‹ เช•เซ‹เชˆ เชชเชฐเชฟเชตเชนเชจ HTTP/1 เช…เชจเซ‡ เช…เชจเชเชจเซเช•เซเชฐเชฟเชชเซเชŸเซ‡เชก HTTP/2 เชฌเช‚เชจเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช—เซ‹เช เชตเซ‡เชฒเซเช‚ เชนเซ‹เชฏ, เชคเซ‹ เชคเซ‡ HTTP/1 เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชถเซ‡.

เช…เชจเชเชจเซเช•เซเชฐเชฟเชชเซเชŸเซ‡เชก HTTP/2 เชฎเชพเชŸเซ‡ เชธเชชเซ‹เชฐเซเชŸ "HTTP/2 เชตเชฟเชฅ เชซเซ‹เชฐเชตเชฐเซเชก-เชฒเชฐเซเชจเชฟเช‚เช—" (RFC 9113, เชตเชฟเชญเชพเช— 3.3) เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡. เชจเชพเชชเชธเช‚เชฆ เช•เชฐเชพเชฏเซ‡เชฒ เชนเซ‡เชกเชฐ โ€œเช…เชชเช—เซเชฐเซ‡เชก: h2cโ€ เชธเชชเซ‹เชฐเซเชŸเซ‡เชก เชจเชฅเซ€.

เชจเซ‡เชŸ/เชจเซ‡เชŸเชฟเชช

เชเชกเซเชฐเซ‡, เชเชกเซเชฐเชชเซ‹เชฐเซเชŸ ะธ เช‰เชชเชธเชฐเซเช— เชนเชตเซ‡ เช‡เชจเซเชŸเชฐเชซเซ‡เชธเซ‹ เชฒเชพเช—เซ เช•เชฐเซ‹ เชเชจเซเช•เซ‹เชกเชฟเช‚เช—.เชฌเชพเชˆเชจเชฐเซ€เชเชชเซ‡เชจเซเชกเชฐ ะธ เชเชจเซเช•เซ‹เชกเชฟเช‚เช—.เชŸเซ‡เช•เซเชธเซเชŸเชเชชเซ‡เชจเซเชกเชฐ.

เชจเซ‡เชŸ/เชฏเซเช†เชฐเชเชฒ

URL เชจเซ‡ เชนเชตเซ‡ เช‡เชจเซเชŸเชฐเชซเซ‡เชธ เชชเชฃ เชฒเชพเช—เซ เช•เชฐเซ‡ เช›เซ‡ เชเชจเซเช•เซ‹เชกเชฟเช‚เช—.เชฌเชพเชˆเชจเชฐเซ€เชเชชเซ‡เชจเซเชกเชฐ.

เช“เชเชธ/เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ

เชตเชฟเชจเซเชกเซ‹เช เชชเชฐ เชตเชฐเซเชคเชฎเชพเชจ เชนเชตเซ‡ เชตเชฟเชจเซเชกเซ‹เช เชจเซ‡เชจเซ‹ เชธเชฐเซเชตเชฐเชฎเชพเช‚ เชตเชพเชชเชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. เชจเซ‡เชจเซ‹ เชธเชฐเซเชตเชฐเชฎเชพเช‚เชฅเซ€ เช–เซ‚เชŸเชคเซ€ NetApi32 เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เชจเชพ เชซเช‚เช•เซเชถเชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชŸเชพเชณเชตเชพ เชฎเชพเชŸเซ‡ เช…เชฎเชฒเซ€เช•เชฐเชฃ เช…เชชเชกเซ‡เชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡.

เชตเชฟเชจเซเชกเซ‹เช เชชเชฐ เชตเชฐเซเชคเชฎเชพเชจ, เชฒเซเช•เช…เชช ะธ เชฒเซเช•เช…เชช เช†เชˆเชกเซ€ เชนเชตเซ‡ เชจเซ€เชšเซ‡เชจเชพ เชฌเชฟเชฒเซเชŸ-เช‡เชจ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชธเซ‡เชตเชพ เช–เชพเชคเชพเช“เชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเซ‡ เช›เซ‡:

  • เชเชจเชŸเซ€ เช“เชฅเซ‹เชฐเชฟเชŸเซ€ เชธเชฟเชธเซเชŸเชฎ
  • NT เช“เชฅเซ‹เชฐเชฟเชŸเซ€เช•เชฒ เชธเซ‡เชตเชพ
  • เชเชจเชŸเซ€ เช“เชฅเซ‹เชฐเชฟเชŸเซ€ เชจเซ‡เชŸเชตเชฐเซเช• เชธเชฐเซเชตเชฟเชธ

เชตเชฟเชจเซเชกเซ‹เช เชชเชฐ เชตเชฐเซเชคเชฎเชพเชจ เชœเซเชฏเชพเชฐเซ‡ เชตเชฐเซเชคเชฎเชพเชจ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซ‡ เชงเซ€เชฎเชพ เชกเซ‹เชฎเซ‡เชจ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชคเซเชฏเชพเชฐเซ‡ เชคเซ‡เชจเซ€ เช—เชคเชฟ เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ เชฐเซ€เชคเซ‡ เชตเชงเซ€ เชœเชพเชฏ เช›เซ‡, เชœเซ‡ เช˜เชฃเชพ เช•เซ‹เชฐเซเชชเซ‹เชฐเซ‡เชŸ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“ เชฎเชพเชŸเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชฌเชพเชฌเชค เช›เซ‡. เชจเชตเชพ เช…เชฎเชฒเซ€เช•เชฐเชฃเชจเซเช‚ เชชเซเชฐเชฆเชฐเซเชถเชจ เชนเชตเซ‡ เช…เช—เชพเช‰เชจเชพ เช…เชฎเชฒเซ€เช•เชฐเชฃเชจเซ€ เชคเซเชฒเชจเชพเชฎเชพเช‚ เชฎเชฟเชฒเชฟเชธเซ‡เช•เชจเซเชกเชจเชพ เช•เซเชฐเชฎเชฎเชพเช‚ เช›เซ‡, เชœเซ‡เชจเซ‡ เชชเซ‚เชฐเซเชฃ เชฅเชตเชพเชฎเชพเช‚ เช˜เชฃเซ€ เชธเซ‡เช•เชจเซเชกเซ‹, เชฎเชฟเชจเชฟเชŸเซ‹ เชชเชฃ เชฒเชพเช—เซ€ เชถเช•เซ‡ เช›เซ‡.

เชตเชฟเชจเซเชกเซ‹เช เชชเชฐ เชตเชฐเซเชคเชฎเชพเชจ เชœเซเชฏเชพเชฐเซ‡ เชตเชฐเซเชคเชฎเชพเชจ เชฅเซเชฐเซ‡เชก เชฌเซ€เชœเชพ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซเช‚ เช…เชจเซเช•เชฐเชฃ เช•เชฐเซ€ เชฐเชนเซเชฏเซ‹ เชนเซ‹เชฏ เชคเซเชฏเชพเชฐเซ‡ เชนเชตเซ‡ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชฎเชพเชฒเชฟเช• เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡. เชชเชนเซ‡เชฒเชพเช‚ เช†เชฎเชพเช‚ เชเช• เชญเซ‚เชฒ เช†เชตเซ€ เชนเชคเซ€.

regexp

เชฐเซ‡เชœเชเช•เซเชธเชช เชนเชตเซ‡ เช‡เชจเซเชŸเชฐเชซเซ‡เชธ เชฒเชพเช—เซ เช•เชฐเซ‡ เช›เซ‡ เชเชจเซเช•เซ‹เชกเชฟเช‚เช—.เชŸเซ‡เช•เซเชธเซเชŸเชเชกเซ‡เชชเซเชŸเชฐ.

เชฐเชจเชŸเชพเช‡เชฎ

เช•เชพเชฐเซเชฏ เช—เชฐเซ‹เชŸ เชนเชตเซ‡ เชจเชพเชชเชธเช‚เชฆ เชฅเชฏเซ‡เชฒ เช›เซ‡. เชจเชตเชพ เชตเชพเชคเชพเชตเชฐเชฃเชฎเชพเช‚, เชคเชฎเชพเชฐเซ‡ "go" เชฌเชพเชˆเชจเชฐเซ€ เชจเช•เซเช•เซ€ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเชฟเชธเซเชŸเชฎ เชชเชพเชฅเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซเช‚ เชชเชธเช‚เชฆ เช•เชฐเชตเซเช‚ เชœเซ‹เชˆเช, เช…เชจเซ‡ GOROOT เชจเช•เซเช•เซ€ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ go env GOROOT เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เชœเซ‹เชˆเช.

เชถเชฌเซเชฆเชฎเชพเชณเชพเช“

เชชเซ‡เช•เซ‡เชœ เชถเชฌเซเชฆเชฎเชพเชณเชพเช“ เช‡เชŸเชฐเซ‡เชŸเชฐเซเชธ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช˜เชฃเชพ เช•เชพเชฐเซเชฏเซ‹ เช‰เชฎเซ‡เชฐเซ‡ เช›เซ‡:

  • เชฒเชพเช‡เชจเซเชธ เชธเซเชŸเซเชฐเชฟเช‚เช—เชฎเชพเช‚ เชจเชตเซ€ เชฒเชพเช‡เชจเชฅเซ€ เช…เชฒเช— เช•เชฐเซ‡เชฒเซ€ เชฒเชพเช‡เชจเซ‹ เชชเชฐ เช‡เชŸเชฐเซ‡เชŸเชฐ เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡.
  • เชธเซเชชเซเชฒเชฟเชŸเชธเซ‡เช• เชตเชฟเชญเชพเชœเช• เชฆเซเชตเชพเชฐเชพ เช…เชฒเช— เช•เชฐเชพเชฏเซ‡เชฒ เชธเซเชŸเซเชฐเชฟเช‚เช—เชจเชพ เชฌเชงเชพ เชธเชฌเชธเซเชŸเซเชฐเชฟเช‚เช— เชชเชฐ เช‡เชŸเชฐเซ‡เชŸเชฐ เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡.
  • เชธเซเชชเซเชฒเชฟเชŸเช†เชซเซเชŸเชฐเชธเซ‡เช• เชตเชฟเชญเชพเชœเช•เชจเชพ เชฆเชฐเซ‡เช• เช˜เชŸเชจเชพ เชชเช›เซ€ เชตเชฟเชญเชพเชœเซ€เชค, เชธเซเชŸเซเชฐเชฟเช‚เช—เชจเชพ เชธเชฌเชธเซเชŸเซเชฐเชฟเช‚เช— เชชเชฐ เช‡เชŸเชฐเซ‡เชŸเชฐ เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡.
  • เชซเซ€เชฒเซเชกเซเชธเชธเซ‡เช• เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเซเชฏเชพ เชฎเซเชœเชฌ, เชตเซเชนเชพเช‡เชŸเชธเซเชชเซ‡เชธ เช…เช•เซเชทเชฐเซ‹เชจเชพ เชธเชฟเช•เซเชตเชจเซเชธเชจเซ€ เช†เชธเชชเชพเชธ เชธเซเชŸเซเชฐเชฟเช‚เช—เชจเชพ เชธเชฌเชธเซเชŸเซเชฐเชฟเช‚เช—เซเชธ เชชเชฐ เช‡เชŸเชฐเซ‡เชŸเชฐ เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡เชฏเซเชจเชฟเช•เซ‹เชก.เช‡เชธเชธเซเชชเซ‡เชธ
  • เชซเซ€เชฒเซเชกเซเชธเชซเช‚เช•เชธเซ‡เช• เชฏเซเชจเชฟเช•เซ‹เชก เช•เซ‹เชก เชชเซ‹เชˆเชจเซเชŸเชจเชพ เชธเชฟเช•เซเชตเชจเซเชธเชจเซ€ เช†เชธเชชเชพเชธ เชธเซเชŸเซเชฐเชฟเช‚เช—เชจเชพ เชธเชฌเชธเซเชŸเซเชฐเชฟเช‚เช—เซเชธ เชชเชฐ เช‡เชŸเชฐเซ‡เชŸเชฐ เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡ เชœเซ‡ เชชเซเชฐเชฟเชกเชฟเช•เซ‡เชŸเชจเซ‡ เชธเช‚เชคเซ‹เชทเซ‡ เช›เซ‡.

เชธเชฎเชจเซเชตเชฏ

ะ ะตะฐะปะธะทะฐั†ะธั เชธเชฟเช‚เช•.เชฎเซ‡เชช เชชเซเชฐเชฆเชฐเซเชถเชจ เชธเซเชงเชพเชฐเชตเชพ เชฎเชพเชŸเซ‡, เช–เชพเชธ เช•เชฐเซ€เชจเซ‡ เชถเชฌเซเชฆเช•เซ‹เชถ เชซเซ‡เชฐเชซเชพเชฐเซ‹ เชฎเชพเชŸเซ‡, เชคเซ‡เชฎเชพเช‚ เชซเซ‡เชฐเชซเชพเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชฎเซ‹เชŸเชพ เชถเชฌเซเชฆเช•เซ‹เชถเซ‹เชฎเชพเช‚ เชกเชฟเชธเชœเซ‹เช‡เชจเซเชŸ เชธเซ‡เชŸ เชšเซ‡เชจเซเชœ เช•เซ‹เชจเซเชŸเซ‡เชจเซเชถเชจเชจเซ€ เชถเช•เซเชฏเชคเชพ เช“เช›เซ€ เชนเซ‹เชฏ เช›เซ‡, เช…เชจเซ‡ เช“เช›เชพ เช•เซ‹เชจเซเชŸเซ‡เชจเซเชถเชจ เชกเชฟเช•เซเชถเชจเชฐเซ€ เชฒเซ‹เชกเชจเซ‡ เชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชคเซ‡เชจเซ‡ เชฌเชฟเชฒเซเชก-เช…เชช เชธเชฎเชฏเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€.

เชœเซ‹ เชคเชฎเชจเซ‡ เช•เซ‹เชˆ เชธเชฎเชธเซเชฏเชพ เช†เชตเซ‡, เชคเซ‹ เชœเซ‚เชจเชพ เช…เชฎเชฒเซ€เช•เชฐเชฃ เชชเชฐ เชชเชพเช›เชพ เชซเชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฌเชฟเชฒเซเชก เชฆเชฐเชฎเชฟเชฏเชพเชจ GOEXPERIMENT=nosynchashtriemap เชธเซ‡เชŸ เช•เชฐเซ‹ เช…เชจเซ‡ เช•เซƒเชชเชพ เช•เชฐเซ€เชจเซ‡ เชธเชฎเชธเซเชฏเชพ เชซเซ‹เชฐเซเชฎ เชญเชฐเซ‹.

เชชเชฐเซ€เช•เซเชทเชฃ

เชจเชตเซ€ เชชเชฆเซเชงเชคเชฟเช“ เชŸเซ€. เชธเช‚เชฆเชฐเซเชญ ะธ เชฌเซ€. เชธเช‚เชฆเชฐเซเชญ เชŸเซ‡เชธเซเชŸ เชชเซ‚เชฐเซเชฃ เชฅเชฏเชพ เชชเช›เซ€ เช…เชจเซ‡ เชŸเซ‡เชธเซเชŸ เช•เซเชฒเชฟเชจเช…เชช เชซเช‚เช•เซเชถเชจเซเชธ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เชฅเชพเชฏ เชคเซ‡ เชชเชนเซ‡เชฒเชพเช‚ เช•เชพเชขเซ€ เชจเชพเช–เชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ เชธเช‚เชฆเชฐเซเชญ เชชเชฐเชค เช•เชฐเซ‡ เช›เซ‡.

เชจเชตเซ€ เชชเชฆเซเชงเชคเชฟเช“ เชŸเซ€.เชšเชฆเซ€เชฐ ะธ เชฌเซ€.เชšเชฆเซ€เชฐ เชŸเซ‡เชธเซเชŸ เช…เชฅเชตเชพ เชฌเซ‡เชจเซเชšเชฎเชพเชฐเซเช•เชจเชพ เชธเชฎเชฏเช—เชพเชณเชพ เชฎเชพเชŸเซ‡ เช•เชพเชฐเซเชฏเช•เชพเชฐเซ€ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชฌเชฆเชฒเชตเชพ เชฎเชพเชŸเซ‡ เชตเชพเชชเชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡.

เชŸเซ‡เช•เซเชธเซเชŸ/เชŸเซ‡เชฎเซเชชเชฒเซ‡เชŸ

เชŸเซ‡เชฎเซเชชเซเชฒเซ‡เชŸเซเชธ เชนเชตเซ‡ range-over-func เช…เชจเซ‡ range-over-int เชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเซ‡ เช›เซ‡.

เชธเชฎเชฏ

เชธเชฎเชฏ เชนเชตเซ‡ เช‡เชจเซเชŸเชฐเชซเซ‡เชธ เชฒเชพเช—เซ เช•เชฐเซ‡ เช›เซ‡ เชเชจเซเช•เซ‹เชกเชฟเช‚เช—.เชฌเชพเชˆเชจเชฐเซ€เชเชชเซ‡เชจเซเชกเชฐ ะธ เชเชจเซเช•เซ‹เชกเชฟเช‚เช—.เชŸเซ‡เช•เซเชธเซเชŸเชเชชเซ‡เชจเซเชกเชฐ.

เชฌเช‚เชฆเชฐเซ‹

Linux

เชœเซ‡เชตเซเช‚ เชนเชคเซเช‚ เชคเซ‡เชตเซเช‚ เชœเชพเชนเซ‡เชฐเชพเชค เช•เชฐเซ€ เช—เซ‹ เซง.เซจเซฉ เชฐเชฟเชฒเซ€เช เชจเซ‹เชŸเซเชธ เช…เชจเซเชธเชพเชฐ, เช—เซ‹ เซง.เซจเซช เชจเซ‡ เชฒเชฟเชจเช•เซเชธ เช•เชฐเซเชจเชฒ เชตเชฐเซเชเชจ เซฉ.เซจ เช…เชฅเชตเชพ เชชเช›เซ€เชจเซเช‚ เชตเชฐเซเชเชจ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡.

เชกเชพเชฐเซเชตเชฟเชจ

เช—เซ‹ เซง.เซจเซช เช เช›เซ‡เชฒเซเชฒเซ€ เชฐเชฟเชฒเซ€เช เช›เซ‡ เชœเซ‡ macOS เซงเซง เชฌเชฟเช— เชธเซเชฐ เชชเชฐ เชšเชพเชฒเชถเซ‡. Go 1.24 เชฎเชพเชŸเซ‡ macOS 11 Monterey เช…เชฅเชตเชพ เชชเช›เซ€เชจเชพ เชตเชฐเซเชเชจเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเชถเซ‡.

เชตเซ‡เชฌเช…เชธเซเชฌเชพเชจ

WebAssembly เชนเซ‹เชธเซเชŸ เชชเชฐ เชซเช‚เช•เซเชถเชจ เชจเชฟเช•เชพเชธ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ Go เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเซเชธเชฎเชพเช‚ go:wasmexport เช•เชฎเซเชชเชพเช‡เชฒเชฐ เชกเชพเชฏเชฐเซ‡เช•เซเชŸเชฟเชต เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡.

WebAssembly เชธเชฟเชธเซเชŸเชฎ เช‡เชจเซเชŸเชฐเชซเซ‡เชธ เชชเซเชฐเซ€เชตเซเชฏเซ‚ 1 (GOOS=wasip1 GOARCH=wasm) เชฎเชพเช‚, Go 1.24 Go เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎ เชฌเชจเชพเชตเชตเชพเชจเซเช‚ เชธเชฎเชฐเซเชฅเชจ เช•เชฐเซ‡ เช›เซ‡ เช•เชพเชฐเชฃ เช•เซ‡ เชฐเชฟเชเช•เซเชŸเชฐ/เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เชฌเชฟเชฒเซเชก เชซเซเชฒเซ‡เช— -buildmode=c-shared เชธเซเชชเชทเซเชŸ เช•เชฐเซ€เชจเซ‡.

go:wasmimport เชซเช‚เช•เซเชถเชจ เชฎเชพเชŸเซ‡ เชฆเชฒเซ€เชฒ เช…เชฅเชตเชพ เชชเชฐเชฟเชฃเชพเชฎ เชชเซเชฐเช•เชพเชฐเซ‹ เชคเชฐเซ€เช•เซ‡ เชนเชตเซ‡ เชตเชงเซ เชชเซเชฐเช•เชพเชฐเซ‹เชจเซ‡ เชฎเช‚เชœเซ‚เชฐเซ€ เช›เซ‡. เช–เชพเชธ เช•เชฐเซ€เชจเซ‡, เชšเซ‹เช•เซเช•เชธ เชชเซเชฐเช•เชพเชฐเซ‹ เชฎเชพเชŸเซ‡ bool, string, uintptr เช…เชจเซ‡ เชชเซ‹เช‡เชจเซเชŸเชฐเซเชธเชจเซ‡ เชฎเช‚เชœเซ‚เชฐเซ€ เช›เซ‡ (เชตเชฟเช—เชคเซ‹ เชœเซเช“ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃ), 32-เชฌเซ€เชŸ เช…เชจเซ‡ 64-เชฌเซ€เชŸ เชชเซ‚เชฐเซเชฃเชพเช‚เช• เช…เชจเซ‡ เชซเซเชฒเซ‹เชŸเชฟเช‚เช—-เชชเซ‹เช‡เชจเซเชŸ เชชเซเชฐเช•เชพเชฐเซ‹ เชธเชพเชฅเซ‡, เช…เชจเซ‡ unsafe.Pointer, เชœเซ‡ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เชฎเชพเชจเซเชฏ เช›เซ‡. เช† เชชเซเชฐเช•เชพเชฐเซ‹เชจเซ‡ go:wasmexport เชซเช‚เช•เซเชถเชจ เชฎเชพเชŸเซ‡ เชฆเชฒเซ€เชฒ เช…เชฅเชตเชพ เชชเชฐเชฟเชฃเชพเชฎ เชชเซเชฐเช•เชพเชฐ เชคเชฐเซ€เช•เซ‡ เชชเชฃ เชฎเช‚เชœเซ‚เชฐเซ€ เช›เซ‡.

WebAssembly เชฎเชพเชŸเซ‡เชจเซ€ เชธเชชเซ‹เชฐเซเชŸ เชซเชพเช‡เชฒเซ‹เชจเซ‡ misc/wasm เชฎเชพเช‚เชฅเซ€ lib/wasm เชฎเชพเช‚ เช–เชธเซ‡เชกเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡.

เชชเซเชฐเชพเชฐเช‚เชญเชฟเช• เชฎเซ‡เชฎเชฐเซ€ เชซเซ‚เชŸเชชเซเชฐเชฟเชจเซเชŸ เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ เชฐเซ€เชคเซ‡ เช˜เชŸเซ‡ เช›เซ‡, เช–เชพเชธ เช•เชฐเซ€เชจเซ‡ เชจเชพเชจเชพ เชตเซ‡เชฌเชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซ‹ เชฎเชพเชŸเซ‡.

เชตเชฟเชจเซเชกเซ‹เช

32-เชฌเซ€เชŸ เชตเชฟเชจเซเชกเซ‹เช/เช†เชฐเซเชฎ เชชเซ‹เชฐเซเชŸ (GOOS=windows GOARCH=เช†เชฐเซเชฎ) เชจเซ‡ เชคเซ‚เชŸเซ‡เชฒเชพ เชคเชฐเซ€เช•เซ‡ เชšเชฟเชนเซเชจเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡. เชตเชฟเช—เชคเซ‹ #70705

เชธเซ‹เชฐเซเชธ: linux.org.ru

DDoS เชธเซเชฐเช•เซเชทเชพ, VPS VDS เชธเชฐเซเชตเชฐ เชงเชฐเชพเชตเชคเซ€ เชธเชพเช‡เชŸเซเชธ เชฎเชพเชŸเซ‡ เชตเชฟเชถเซเชตเชธเชจเซ€เชฏ เชนเซ‹เชธเซเชŸเชฟเช‚เช— เช–เชฐเซ€เชฆเซ‹ ๐Ÿ”ฅ DDoS เชธเซเชฐเช•เซเชทเชพ, VPS VDS เชธเชฐเซเชตเชฐเซเชธ เชธเชพเชฅเซ‡ เชตเชฟเชถเซเชตเชธเชจเซ€เชฏ เชตเซ‡เชฌเชธเชพเช‡เชŸ เชนเซ‹เชธเซเชŸเชฟเช‚เช— เช–เชฐเซ€เชฆเซ‹ | ProHoster