Go 1.22 ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯ ಬಿಡುಗಡೆಯನ್ನು ಪ್ರಸ್ತುತಪಡಿಸಲಾಗಿದೆ, ಇದನ್ನು ಹೈಬ್ರಿಡ್ ಪರಿಹಾರವಾಗಿ ಸಮುದಾಯದ ಭಾಗವಹಿಸುವಿಕೆಯೊಂದಿಗೆ Google ಅಭಿವೃದ್ಧಿಪಡಿಸುತ್ತಿದೆ, ಇದು ಕಂಪೈಲ್ ಮಾಡಿದ ಭಾಷೆಗಳ ಉನ್ನತ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸ್ಕ್ರಿಪ್ಟಿಂಗ್ ಭಾಷೆಯ ಅನುಕೂಲಗಳೊಂದಿಗೆ ಕೋಡ್ ಬರೆಯಲು ಸುಲಭವಾಗಿದೆ. , ಅಭಿವೃದ್ಧಿಯ ವೇಗ ಮತ್ತು ದೋಷ ರಕ್ಷಣೆ. ಯೋಜನೆಯ ಕೋಡ್ ಅನ್ನು BSD ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ವಿತರಿಸಲಾಗಿದೆ.
ಗೋ ಸಿಂಟ್ಯಾಕ್ಸ್ ಸಿ ಭಾಷೆಯ ಪರಿಚಿತ ಅಂಶಗಳ ಮೇಲೆ ಒಬೆರಾನ್ ಭಾಷೆಯಿಂದ ಕೆಲವು ಎರವಲುಗಳನ್ನು ಆಧರಿಸಿದೆ. ಭಾಷೆ ಸಾಕಷ್ಟು ಸಂಕ್ಷಿಪ್ತವಾಗಿದೆ, ಆದರೆ ಕೋಡ್ ಅನ್ನು ಓದಲು ಮತ್ತು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಸುಲಭವಾಗಿದೆ. ಗೋ ಕೋಡ್ ಅನ್ನು ಸ್ಟ್ಯಾಂಡ್-ಅಲೋನ್ ಬೈನರಿ ಎಕ್ಸಿಕ್ಯೂಟಬಲ್ ಫೈಲ್ಗಳಾಗಿ ಕಂಪೈಲ್ ಮಾಡಲಾಗಿದೆ, ಅದು ವರ್ಚುವಲ್ ಯಂತ್ರವನ್ನು ಬಳಸದೆಯೇ (ಪ್ರೊಫೈಲಿಂಗ್, ಡೀಬಗ್ ಮಾಡುವ ಮಾಡ್ಯೂಲ್ಗಳು ಮತ್ತು ರನ್ಟೈಮ್ನಲ್ಲಿ ಸಮಸ್ಯೆಗಳನ್ನು ಗುರುತಿಸಲು ಇತರ ಉಪವ್ಯವಸ್ಥೆಗಳನ್ನು ರನ್ಟೈಮ್ ಘಟಕಗಳಾಗಿ ಸಂಯೋಜಿಸಲಾಗಿದೆ), ಇದು ಸಿ ಪ್ರೋಗ್ರಾಂಗಳಿಗೆ ಹೋಲಿಸಬಹುದಾದ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಅನುಮತಿಸುತ್ತದೆ.
ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು ಆರಂಭದಲ್ಲಿ ಮಲ್ಟಿ-ಥ್ರೆಡ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಮತ್ತು ಮಲ್ಟಿ-ಕೋರ್ ಸಿಸ್ಟಮ್ಗಳಲ್ಲಿ ಸಮರ್ಥ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಗಮನದಲ್ಲಿಟ್ಟುಕೊಂಡು ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿದೆ, ಸಮಾನಾಂತರ ಕಂಪ್ಯೂಟಿಂಗ್ ಅನ್ನು ಸಂಘಟಿಸಲು ಆಪರೇಟರ್-ಮಟ್ಟದ ವಿಧಾನಗಳನ್ನು ಒದಗಿಸುವುದು ಮತ್ತು ಸಮಾನಾಂತರ-ಕಾರ್ಯಗತಗೊಳಿಸಿದ ವಿಧಾನಗಳ ನಡುವೆ ಪರಸ್ಪರ ಕ್ರಿಯೆಯನ್ನು ಒದಗಿಸುವುದು ಸೇರಿದಂತೆ. ಭಾಷೆಯು ಅತಿಯಾಗಿ ಹಂಚಿಕೆ ಮಾಡಲಾದ ಮೆಮೊರಿ ಬ್ಲಾಕ್ಗಳ ವಿರುದ್ಧ ಅಂತರ್ನಿರ್ಮಿತ ರಕ್ಷಣೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ ಮತ್ತು ಕಸ ಸಂಗ್ರಾಹಕವನ್ನು ಬಳಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಒದಗಿಸುತ್ತದೆ.
ಹೊಸ ಬಿಡುಗಡೆಯಲ್ಲಿನ ಬದಲಾವಣೆಗಳಲ್ಲಿ:
- ಪೂರ್ಣಾಂಕಗಳ ಶ್ರೇಣಿಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲು ಬೆಂಬಲವನ್ನು "ಫಾರ್" ಲೂಪ್ಗಳಿಗೆ ಸೇರಿಸಲಾಗಿದೆ, ಉದಾಹರಣೆಗೆ, 0 ರಿಂದ 9 ರವರೆಗಿನ ಮೌಲ್ಯಗಳ ಮೂಲಕ ಪುನರಾವರ್ತನೆ ಮಾಡಲು, ನೀವು ಈಗ "ಐ := ಶ್ರೇಣಿ 10 {...}" ಲೂಪ್ ಅನ್ನು ಬಳಸಬಹುದು.
- ಲೂಪ್ಗಳಿಗಾಗಿ ಶ್ರೇಣಿಯ ಕಾರ್ಯಗಳಿಗಾಗಿ ಪ್ರಾಯೋಗಿಕ (GOEXPERIMENT=rangefunc) ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ಇದು ಪುನರಾವರ್ತಕವಾಗಿ ಕಾರ್ಯವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, "i, x := ಶ್ರೇಣಿಯ ಸ್ಲೈಸ್ಗಳಿಗಾಗಿ. ಹಿಂದಕ್ಕೆ(ಗಳು) {...}"
- ಪುನರಾವರ್ತನೆಗಳಾದ್ಯಂತ ಲೂಪ್ ವೇರಿಯೇಬಲ್ಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ಕೊರೂಟಿನ್ಗಳಿಗೆ (ಗೊರೂಟಿನ್ಗಳು) ಕರೆಗಳನ್ನು ಉಂಟುಮಾಡುವ ಲೂಪ್ಗಳಿಗಾಗಿ ದೀರ್ಘಕಾಲದ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲಾಗಿದೆ. ಉದಾಹರಣೆಗೆ, _, v - true }()} ಈಗ "a", "b" ಮತ್ತು "c" ಅನ್ನು ಔಟ್ಪುಟ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಮೊದಲಿನಂತೆ "c" ಅಲ್ಲ.
- ರನ್ಟೈಮ್ನಲ್ಲಿ ಮೆಮೊರಿ ನಿರ್ವಹಣೆಯನ್ನು ಆಪ್ಟಿಮೈಸ್ ಮಾಡಲಾಗಿದೆ, ಇದು ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು 1-3% ರಷ್ಟು ಹೆಚ್ಚಿಸಲು ಮತ್ತು ಹೆಚ್ಚಿನ ಅಪ್ಲಿಕೇಶನ್ಗಳಲ್ಲಿ ಮೆಮೊರಿ ಬಳಕೆಯನ್ನು 1% ರಷ್ಟು ಕಡಿಮೆ ಮಾಡಲು ಕಾರಣವಾಯಿತು.
- ಕೋಡ್ ಪ್ರೊಫೈಲಿಂಗ್ (PGO - ಪ್ರೊಫೈಲ್-ಗೈಡೆಡ್ ಆಪ್ಟಿಮೈಸೇಶನ್) ಫಲಿತಾಂಶಗಳ ಆಧಾರದ ಮೇಲೆ ಕಂಪೈಲರ್ನಲ್ಲಿ ಆಪ್ಟಿಮೈಸೇಶನ್ಗಳನ್ನು ಸೇರಿಸಲು ಕೆಲಸ ಮುಂದುವರೆಯಿತು, ಇದು ಪ್ರೋಗ್ರಾಂ ಎಕ್ಸಿಕ್ಯೂಶನ್ ಸಮಯದಲ್ಲಿ ನಿರ್ಧರಿಸಲಾದ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಹೊಸ ಆವೃತ್ತಿಯಲ್ಲಿ, ವಿಸ್ತರಿತ ಇನ್ಲೈನ್ ಬ್ಲಾಕ್ಗಳ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯೊಂದಿಗೆ ವಿವಿಧ ವಿಧಾನಗಳ ಪರೋಕ್ಷ ಕರೆಗಳನ್ನು ಬದಲಾಯಿಸಲು ಕಂಪೈಲರ್ ಡಿವರ್ಚುವಲೈಸೇಶನ್ ಪರಿಕರಗಳನ್ನು ಬಳಸುತ್ತದೆ.
- PGO ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದಾಗ, ಸೇರಿಸಿದ ಬದಲಾವಣೆಯು ಹೆಚ್ಚಿನ ಕಾರ್ಯಕ್ರಮಗಳ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು 2-14% ರಷ್ಟು ಸುಧಾರಿಸಿತು.
- ಪ್ರಮುಖ ಮತ್ತು ಪ್ರಮುಖವಲ್ಲದ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಪ್ರತ್ಯೇಕಿಸಲು ಹ್ಯೂರಿಸ್ಟಿಕ್ಸ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಕಂಪೈಲರ್ಗೆ ಕರೆ ಇನ್ಲೈನಿಂಗ್ ಕಾರ್ಯವಿಧಾನದ ಪ್ರಾಯೋಗಿಕ (GOEXPERIMENT=newinliner) ಸುಧಾರಿತ ಅನುಷ್ಠಾನವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
- "math/rand/v2" ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಲೈಬ್ರರಿಗೆ ಸೇರಿಸಲಾಗಿದೆ, ಇದು ಹೆಚ್ಚು ಸಮಗ್ರವಾದ API ಅನ್ನು ನೀಡುತ್ತದೆ ಮತ್ತು ಹುಸಿ-ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಗಳನ್ನು ಉತ್ಪಾದಿಸಲು ವೇಗವಾದ ಅಲ್ಗಾರಿದಮ್ಗಳನ್ನು ಬಳಸುತ್ತದೆ.
- net/http.ServeMux ಪ್ಯಾಕೇಜ್ ಟೆಂಪ್ಲೇಟ್ಗಳಲ್ಲಿ ವಿಧಾನಗಳು ಮತ್ತು ಮುಖವಾಡಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಸೇರಿಸಿದೆ, ಉದಾಹರಣೆಗೆ, "GET /static/{id}/" ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು HTTP ವಿಧಾನ "GET" ನೊಂದಿಗೆ ವಿನಂತಿಗಳಿಗೆ ಅನ್ವಯಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಸಂಗ್ರಹಿಸುತ್ತದೆ ಗುರುತಿಸುವಿಕೆ " ಐಡಿ" ನಲ್ಲಿ ವಿನಂತಿಸಿದ ಮಾರ್ಗದ ಎರಡನೇ ವಿಭಾಗದ ಮೌಲ್ಯ.
- ಡೇಟಾಬೇಸ್/sql ಪ್ಯಾಕೇಜ್ ಶೂನ್ಯ[T] ಪ್ರಕಾರಕ್ಕೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಿದೆ, ಇದು NULL ಆಗಿರುವ ಕಾಲಮ್ಗಳನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಯಾವುದೇ ಪ್ರಕಾರದ ಬಹು ಸ್ಲೈಸ್ಗಳನ್ನು ವಿಲೀನಗೊಳಿಸಲು ಸ್ಲೈಸ್ಗಳ ಪ್ಯಾಕೇಜ್ಗೆ Concat ಕಾರ್ಯವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
- ಕಾರ್ಯಸ್ಥಳಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವ ಆಜ್ಞೆಗಳಲ್ಲಿ (ಮಾಡ್ಯೂಲ್ಗಳ ಸಂಗ್ರಹಗಳು), "ಮಾರಾಟಗಾರ" ಡೈರೆಕ್ಟರಿಯನ್ನು ಬಳಸಲು ಸಾಧ್ಯವಿದೆ, ಇದು ಕಾರ್ಯಸ್ಥಳದ ವಿಷಯಗಳಿಗೆ ಅವಲಂಬನೆಗಳನ್ನು ಹೊಂದಿರುತ್ತದೆ. "ಗೋ ವರ್ಕ್ ವೆಂಡರ್" ಕಮಾಂಡ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವಾಗ ಡೈರೆಕ್ಟರಿಯನ್ನು ರಚಿಸಲಾಗುತ್ತದೆ ಮತ್ತು "-ಮೋಡ್ = ವೆಂಡರ್" ಆಯ್ಕೆಯನ್ನು ಹೊಂದಿಸಿದಾಗ ಬಿಲ್ಡ್ ಕಮಾಂಡ್ಗಳಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ (ವೆಂಡರ್ ಡೈರೆಕ್ಟರಿ ಇದ್ದರೆ ಡೀಫಾಲ್ಟ್ ಆಗಿ ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ).
ಉಪಯುಕ್ತತೆಯ ವರ್ತನೆಯಲ್ಲಿ ಬದಲಾವಣೆಗಳು.
- ಲೆಗಸಿ GOPATH ಮೋಡ್ನಲ್ಲಿ (ಅಂದರೆ GO111MODULE=off ಜೊತೆಗೆ) ಮಾಡ್ಯೂಲ್ನ ಹೊರಗೆ go get ಇನ್ನು ಮುಂದೆ ಬೆಂಬಲಿಸುವುದಿಲ್ಲ. ಗೋ ಬಿಲ್ಡ್ ಮತ್ತು ಗೋ ಟೆಸ್ಟ್ನಂತಹ ಇತರ ಬಿಲ್ಡ್ ಕಮಾಂಡ್ಗಳು ಅನಿರ್ದಿಷ್ಟವಾಗಿ ಲೆಗಸಿ GOPATH ಕಾರ್ಯಕ್ರಮಗಳಿಗಾಗಿ ಕೆಲಸ ಮಾಡುವುದನ್ನು ಮುಂದುವರಿಸುತ್ತವೆ.
- go mod init ಇನ್ನು ಮುಂದೆ ಇತರ ಮಾರಾಟಗಾರರ ಪರಿಕರಗಳಿಗಾಗಿ (Gopkg.lock ನಂತಹ) ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ಗಳಿಂದ ಮಾಡ್ಯೂಲ್ ಅವಶ್ಯಕತೆಗಳನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳಲು ಪ್ರಯತ್ನಿಸುವುದಿಲ್ಲ.
- ಪರೀಕ್ಷೆಗೆ ಹೋಗಿ-ಕವರ್ ಈಗ ತಮ್ಮದೇ ಆದ ಪರೀಕ್ಷಾ ಫೈಲ್ಗಳನ್ನು ಹೊಂದಿರದ ಕವರ್ ಪ್ಯಾಕೇಜ್ಗಳಿಗಾಗಿ ಕವರೇಜ್ ಸಾರಾಂಶಗಳನ್ನು ಮುದ್ರಿಸುತ್ತದೆ. ಗೋ 1.22 ಕ್ಕಿಂತ ಮೊದಲು, ಅಂತಹ ಪ್ಯಾಕೇಜ್ಗಾಗಿ ಪರೀಕ್ಷಾ ಕವರ್ ವರದಿಗೆ ಹೋಗುವುದೇ? mymod/mypack [ಯಾವುದೇ ಪರೀಕ್ಷಾ ಕಡತಗಳಿಲ್ಲ]
ಮತ್ತು ಈಗ Go 1.22 ರಂತೆ, ಪ್ಯಾಕೇಜ್ನಲ್ಲಿನ ಕಾರ್ಯಗಳನ್ನು ಬಹಿರಂಗಪಡಿಸಲಾಗಿದೆ ಎಂದು ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ: mymod/mypack ಕವರೇಜ್: 0.0% ಹೇಳಿಕೆಗಳು ಗಮನಿಸಿ: ಪ್ಯಾಕೇಜ್ ಯಾವುದೇ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಕೋಡ್ ಅನ್ನು ಹೊಂದಿಲ್ಲದಿದ್ದರೆ, ನಾವು ಕವರೇಜ್ನ ಅರ್ಥಪೂರ್ಣ ಶೇಕಡಾವಾರು ವರದಿ ಮಾಡಲಾಗುವುದಿಲ್ಲ; ಅಂತಹ ಪ್ಯಾಕೇಜುಗಳಿಗಾಗಿ, ಗೋ ಪರೀಕ್ಷೆಯು ಕಾಣೆಯಾದ ಪರೀಕ್ಷಾ ಫೈಲ್ಗಳನ್ನು ವರದಿ ಮಾಡಲು ಮುಂದುವರಿಯುತ್ತದೆ.
- ಹೊಸ ಟ್ರೇಸರ್ ಅನ್ನು ಬೆಂಬಲಿಸಲು, ಕೆಲವು ಸಮಸ್ಯೆಗಳನ್ನು ಸರಿಪಡಿಸಲು ಮತ್ತು ವಿವಿಧ ಪುಟಗಳ ಓದುವಿಕೆಯನ್ನು ಸುಧಾರಿಸಲು ಕೆಲಸದ ಭಾಗವಾಗಿ ಟ್ರೇಸ್ ಟೂಲ್ನ ವೆಬ್ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಸ್ವಲ್ಪಮಟ್ಟಿಗೆ ನವೀಕರಿಸಲಾಗಿದೆ. ವೆಬ್ ಇಂಟರ್ಫೇಸ್ ಈಗ ಥ್ರೆಡ್-ಸುರಕ್ಷಿತ ವೀಕ್ಷಣೆಯಲ್ಲಿ ಕುರುಹುಗಳನ್ನು ಅನ್ವೇಷಿಸಲು ಬೆಂಬಲಿಸುತ್ತದೆ. ಟ್ರೇಸ್ ವೀಕ್ಷಕವು ಈಗ ಎಲ್ಲಾ ಸಿಸ್ಟಮ್ ಕರೆಗಳ ಪೂರ್ಣ ಅವಧಿಯನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ. ಈ ಸುಧಾರಣೆಗಳು Go 1.22 ಅಥವಾ ನಂತರದ ಕಾರ್ಯಕ್ರಮಗಳಲ್ಲಿ ನಿರ್ಮಿಸಲಾದ ಕುರುಹುಗಳನ್ನು ವೀಕ್ಷಿಸಲು ಮಾತ್ರ ಅನ್ವಯಿಸುತ್ತವೆ. ಭವಿಷ್ಯದ ಬಿಡುಗಡೆಯು ಈ ಕೆಲವು ಸುಧಾರಣೆಗಳನ್ನು Go ನ ಹಳೆಯ ಆವೃತ್ತಿಯಿಂದ ನಿರ್ಮಿಸಲಾದ ಕುರುಹುಗಳಿಗೆ ತರುತ್ತದೆ.
- ರನ್ಟೈಮ್ ಈಗ ಟೈಪ್-ಆಧಾರಿತ ಕಸ ಸಂಗ್ರಹಣೆ ಮೆಟಾಡೇಟಾವನ್ನು ಪ್ರತಿ ರಾಶಿ ವಸ್ತುವಿನ ಹತ್ತಿರ ಸಂಗ್ರಹಿಸುತ್ತದೆ. ಈ ಬದಲಾವಣೆಯು ಅನಗತ್ಯ ಮೆಟಾಡೇಟಾವನ್ನು ನಕಲು ಮಾಡುವ ಮೂಲಕ ಹೆಚ್ಚಿನ Go ಪ್ರೋಗ್ರಾಂಗಳ ಮೆಮೊರಿ ಓವರ್ಹೆಡ್ ಅನ್ನು ಸುಮಾರು 1% ರಷ್ಟು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ. ಕೆಲವು ಪ್ರೋಗ್ರಾಂಗಳಲ್ಲಿ ಸುಧಾರಣೆಯು ಚಿಕ್ಕದಾಗಿರಬಹುದು ಏಕೆಂದರೆ ಈ ಬದಲಾವಣೆಯು ಮೆಮೊರಿ ಅಲೋಕೇಟರ್ನ ಗಾತ್ರದ ವರ್ಗದ ಗಡಿಗಳನ್ನು ಸರಿಹೊಂದಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಕೆಲವು ವಸ್ತುಗಳನ್ನು ಹೆಚ್ಚಿನ ಗಾತ್ರದ ವರ್ಗಕ್ಕೆ ಸರಿಸಬಹುದು. ಈ ಬದಲಾವಣೆಯ ಪರಿಣಾಮವೆಂದರೆ ಈ ಹಿಂದೆ ಯಾವಾಗಲೂ 16-ಬೈಟ್ ಗಡಿ (ಅಥವಾ ಹೆಚ್ಚಿನ) ಮೇಲೆ ಜೋಡಿಸಲಾದ ಕೆಲವು ವಸ್ತುಗಳ ವಿಳಾಸಗಳು ಈಗ 8-ಬೈಟ್ ಗಡಿಯಲ್ಲಿ ಮಾತ್ರ ಜೋಡಿಸಲ್ಪಡುತ್ತವೆ. ಮೆಮೊರಿ ವಿಳಾಸಗಳನ್ನು 8 ಬೈಟ್ಗಳ ಮೇಲೆ ಜೋಡಿಸಲು ಅಗತ್ಯವಿರುವ ಅಸೆಂಬ್ಲಿ ಸೂಚನೆಗಳನ್ನು ಬಳಸುವ ಕೆಲವು ಪ್ರೋಗ್ರಾಂಗಳು ಮತ್ತು ಮೆಮೊರಿ ಅಲೋಕೇಟರ್ನ ಹಿಂದಿನ ಹೊಂದಾಣಿಕೆಯ ನಡವಳಿಕೆಯನ್ನು ಅವಲಂಬಿಸಿರಬಹುದು, ಆದರೆ ಅಂತಹ ಪ್ರೋಗ್ರಾಂಗಳು ಅಪರೂಪವೆಂದು ನಾವು ನಿರೀಕ್ಷಿಸುತ್ತೇವೆ. ಅಂತಹ ಕಾರ್ಯಕ್ರಮಗಳನ್ನು GOEXPERIMENT=noallocheaders ನೊಂದಿಗೆ ನಿರ್ಮಿಸಬಹುದು ಮತ್ತು ಹಳೆಯ ಮೆಟಾಡೇಟಾ ಮಾದರಿಗೆ ಹಿಂತಿರುಗುವ ಮತ್ತು ಹಿಂದಿನ ಹೊಂದಾಣಿಕೆಯ ನಡವಳಿಕೆಯನ್ನು ಮರುಸ್ಥಾಪಿಸುವ ಆಯ್ಕೆಯೊಂದಿಗೆ, ಆದರೆ ಪ್ಯಾಕೇಜ್ ಮಾಲೀಕರು ಜೋಡಣೆಯ ಊಹೆಯನ್ನು ತಪ್ಪಿಸಲು ತಮ್ಮ ಅಸೆಂಬ್ಲಿ ಕೋಡ್ ಅನ್ನು ನವೀಕರಿಸಬೇಕು, ಏಕೆಂದರೆ ಭವಿಷ್ಯದ ಬಿಡುಗಡೆಯಲ್ಲಿ ಈ ಪರಿಹಾರವನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ. .
- Go 1.20 ಬಿಡುಗಡೆ ಟಿಪ್ಪಣಿಗಳಲ್ಲಿ ಉಲ್ಲೇಖಿಸಿದಂತೆ, Go 1.22 ಗೆ ಈಗ ಆರಂಭಿಕ ನಿರ್ಮಾಣಗಳಿಗಾಗಿ Go 1.20 ಅಥವಾ ನಂತರದ ಅಂತಿಮ ಆವೃತ್ತಿಯ ಅಗತ್ಯವಿದೆ. ಆರಂಭಿಕ ನಿರ್ಮಾಣಕ್ಕಾಗಿ Go 1.24 ಗೆ Go 1.22 ಅಥವಾ ನಂತರದ ಅಂತಿಮ ಆವೃತ್ತಿಯ ಅಗತ್ಯವಿದೆ ಎಂದು ನಾವು ನಿರೀಕ್ಷಿಸುತ್ತೇವೆ.
ಮೂಲ (go.dev)
ಮೂಲ: linux.org.ru
