ਗੂਗਲ ਨੇ ਪ੍ਰੋਗਰਾਮਿੰਗ ਲੈਂਗਵੇਜ ਗੋ ਦੇ ਨਵੇਂ ਸੰਸਕਰਣ ਦਾ ਪ੍ਰੀਵਿਊ ਜਾਰੀ ਕੀਤਾ ਹੈ। ਸੰਸਕਰਣ 1.18 ਅਖੌਤੀ 'ਪੈਰਾਮੀਟਰਾਈਜ਼ਡ' ਕਿਸਮਾਂ ਦੇ ਨਾਲ 'ਆਮ' ਪ੍ਰੋਗਰਾਮਿੰਗ ਲਈ ਕਾਰਜਸ਼ੀਲਤਾ ਜੋੜਦਾ ਹੈ।
ਉਹਨਾਂ ਦੇ ਆਪਣੇ ਸ਼ਬਦਾਂ ਵਿੱਚ, ਇਹ ਗੋ ਸੰਸਕਰਣ 1 ਦੇ ਜਾਰੀ ਹੋਣ ਤੋਂ ਬਾਅਦ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ ਵਿੱਚ ਸਭ ਤੋਂ ਮਹੱਤਵਪੂਰਨ ਅਤੇ ਸਭ ਤੋਂ ਵੱਡਾ ਬਦਲਾਅ ਹੈ। ਜੈਨਰਿਕ ਦੇ ਪਿੱਛੇ ਵਿਚਾਰ ਇਹ ਹੈ ਕਿ ਇਹ ਹੁਣ ਕਿਸਮਾਂ ਨੂੰ ਸੋਧ ਕੇ ਫੰਕਸ਼ਨਾਂ ਅਤੇ ਡੇਟਾ ਢਾਂਚੇ ਨੂੰ ਦਰਸਾਉਣ ਲਈ ਕਾਰਜਸ਼ੀਲਤਾ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਕਿਸੇ ਫੰਕਸ਼ਨ ਵਿੱਚ ਲਿਆਂਦੇ ਜਾ ਰਹੇ ਅਸਲ ਡੇਟਾ ਨੂੰ ਐਬਸਟਰੈਕਟ ਕਰਨ ਦੇ ਇੱਕ ਤਰੀਕੇ ਵਜੋਂ ਇੱਕ ਇੰਟਰਫੇਸ ਕਿਸਮ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਕੇ ਆਗਿਆ ਦਿੱਤੀ 'ਸਧਾਰਨਤਾ' ਨੂੰ ਬਾਹਰ ਰੱਖਦਾ ਹੈ।
ਗੂਗਲ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਗੋ ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਇਹ ਮਹਿਸੂਸ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ ਕਿ ਕਾਰਜਕੁਸ਼ਲਤਾ ਬਿਨਾਂ ਸ਼ੱਕ ਨਵੇਂ ਬੱਗ ਵੱਲ ਲੈ ਜਾਵੇਗੀ। ਇਸ ਲਈ ਉਹਨਾਂ ਨੂੰ ਸਾਵਧਾਨੀ ਨਾਲ ਇਹਨਾਂ 'ਜਨੇਰਿਕਸ' ਤੱਕ ਪਹੁੰਚ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ।
Go 1.18 ਬੀਟਾ ਵਿੱਚ ਹੋਰ ਕਾਰਜਕੁਸ਼ਲਤਾ
ਉਪਰੋਕਤ ਕਾਰਜਸ਼ੀਲਤਾ ਤੋਂ ਇਲਾਵਾ, ਨਵੇਂ ਪ੍ਰੀਵਿਊ ਵਿੱਚ ਫਜ਼ਿੰਗ-ਅਧਾਰਿਤ ਟੈਸਟਾਂ ਨੂੰ ਲਿਖਣ ਲਈ ਬਿਲਟ-ਇਨ ਸਮਰਥਨ ਵੀ ਹੈ। ਇਹ ਟੈਸਟ ਸਵੈਚਲਿਤ ਤੌਰ 'ਤੇ ਇੰਪੁੱਟ ਲੱਭ ਸਕਦੇ ਹਨ ਜੋ ਪ੍ਰੋਗਰਾਮਾਂ ਨੂੰ ਕਰੈਸ਼ ਕਰਨ ਜਾਂ ਅਵੈਧ ਜਵਾਬ ਦੇਣ ਦਾ ਕਾਰਨ ਬਣਦੇ ਹਨ। ਗੋ 1.18 ਬੀਟਾ ਇੱਕ ਨਵਾਂ 'ਗੋ ਵਰਕਸਪੇਸ ਮੋਡ' ਵੀ ਪੇਸ਼ ਕਰਦਾ ਹੈ। ਇਹ ਪ੍ਰੋਗਰਾਮਰਾਂ ਨੂੰ ਇੱਕੋ ਸਮੇਂ ਕਈ ਗੋ ਮੋਡਿਊਲਾਂ ਨਾਲ ਕੰਮ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ। ਗੂਗਲ ਦੇ ਅਨੁਸਾਰ, ਇਹ ਵੱਡੇ ਪ੍ਰੋਜੈਕਟਾਂ ਲਈ ਵਿਸ਼ੇਸ਼ ਤੌਰ 'ਤੇ ਲਾਭਦਾਇਕ ਹੈ.
ਇਸ ਤੋਂ ਇਲਾਵਾ, ਸੰਸਕਰਣ 1.18 ਬੀਟਾ ਇੱਕ ਵਿਸਤ੍ਰਿਤ ਗੋ ਵਰਜਨ -m ਕਮਾਂਡ ਨਾਲ ਕਾਰਜਕੁਸ਼ਲਤਾ ਜੋੜਦਾ ਹੈ। ਇਹ ਕਮਾਂਡ ਹੁਣ ਵੇਰਵਿਆਂ ਨੂੰ ਕੰਪਾਈਲਰ ਫਲੈਗ ਵਜੋਂ ਸਟੋਰ ਕਰਦੀ ਹੈ। ਇੱਕ ਪ੍ਰੋਗਰਾਮ ਹੁਣ debug.ReadBuildInfo ਕਮਾਂਡ ਨਾਲ ਆਪਣੇ ਖੁਦ ਦੇ ਬਿਲਡ ਵੇਰਵਿਆਂ ਦੀ ਪੁੱਛਗਿੱਛ ਕਰ ਸਕਦਾ ਹੈ।
ਨਾਲ ਹੀ, ਗੋ 1.17 ਤੋਂ ਉਪਲਬਧ ਹੋਰ ਰਜਿਸਟਰ-ਅਧਾਰਿਤ ਕਾਲਿੰਗ ਕਨਵੈਨਸ਼ਨ ਨੂੰ ਪ੍ਰੀਵਿਊ ਵਿੱਚ ਜੋੜਿਆ ਗਿਆ ਹੈ। ਜਿੱਥੇ ਪਿਛਲੇ ਸੰਸਕਰਣ ਵਿੱਚ ਇਹ ਕਾਰਜਕੁਸ਼ਲਤਾ ਸਿਰਫ x86 ਅਤੇ x64 ਸਿਸਟਮਾਂ 'ਤੇ ਗੋ ਕੋਡ ਨੂੰ ਤੇਜ਼ ਕਰਨ ਲਈ ਉਚਿਤ ਸੀ, ਇਹ ਹੁਣ ARM64 ਅਤੇ PPC64 ਅਧਾਰਤ ਪ੍ਰਣਾਲੀਆਂ ਲਈ ਵੀ ਢੁਕਵੀਂ ਹੈ। ਇਹ 20 ਪ੍ਰਤੀਸ਼ਤ ਤੱਕ ਹੋਰ ਸਪੀਡ ਪ੍ਰਦਾਨ ਕਰੇ।