Mokant Go, labai svarbu vengti dažnų klaidų, kurios gali sukelti neveiksmingą kodą, klaidas ir nusivylimą. Štai keletas dažniausiai daromų klaidų, kurių reikia vengti:
1. Įrašas į nulinį žemėlapį:
- Problema: Kai apibrėžiate žemėlapį programoje Go, iš pradžių jo nėra. Jei bandysite ją pasiekti tiesiogiai, jūsų programa ims panikuoti.
– Sprendimas: inicijuokite žemėlapį naudodami funkciją „padaryti“ arba žemėlapio literalą.
2. Nulinės rodyklės nuorodos:
- Problema: Jei bandysite pašalinti nulinę rodyklę, jūsų programa ims panikuoti.
- Sprendimas: įsitikinkite, kad sukūrėte naują žymeklį arba naudokite žymeklio imtuvo metodą.
3. Kelios reikšmės vienos vertės kontekste:
- Problema: kai bandysite pateikti kelias reikšmes vienos reikšmės kontekste, jūsų programa ims panikuoti.
- Sprendimas: įsitikinkite, kad naudojate teisingus grąžinimo tipus ir tinkamai tvarkote klaidas.
4. Nekeičiamos masyvo reikšmės:
– Problema: „Go“ masyvai yra reikšmės, o ne nuorodos. Tai reiškia, kad masyvo pakeitimai neturi įtakos pradiniam masyvui.
- Sprendimas: vietoj masyvų naudokite skiltis, nes skiltelės yra nuorodos ir jas galima keisti.
5. Šešėlio kintamasis:
- Problema: Jei deklaruosite kintamąjį tuo pačiu pavadinimu kaip funkcijos parametrą, jis nustelbs parametrą.
- Sprendimas: naudokite kitą kintamojo pavadinimą arba naudokite komandą „paleisti“ su žyma „-gcflags“, kad išjungtumėte šešėlį.
6. Trūksta kablelio kelių eilučių masyve arba pjūvyje:
- Problema: Jei pamiršite įtraukti kablelį kiekvienos kelių eilučių masyvo ar pjūvio eilutės pabaigoje, kodas nebus kompiliuojamas.
- Sprendimas: įsitikinkite, kad kiekviena eilutė baigiasi kableliu.
7. Netinkamas apipjaustymo funkcijos naudojimas:
– Problema: „Apkarpymo“ funkcija programoje „Go“ pašalina visus „Unicode“ taškus iš iškirpimo rinkinio. Tai gali sukelti netikėtų rezultatų.
- Sprendimas: naudokite „TrimSuffix“, o ne „trim“, kad galėtumėte geriau valdyti kirpimo procesą.
8. Netinkamas kopijavimo funkcijos naudojimas:
– Problema: „Go“ funkcija „kopijuoti“ nukopijuoja minimalų elementų skaičių iš šaltinio į paskirties vietą. Tai gali sukelti netikėtų rezultatų.
– Sprendimas: įsitikinkite, kad naudojate tinkamą elementų skaičių ir tinkamai tvarkote klaidas.
9. Neperžiūri žaidimų:
– Problema: Jei neperžiūrėsite žaidimų, galite praleisti tobulinimo galimybes.
- Sprendimas: reguliariai peržiūrėkite žaidimus, kad nustatytumėte tobulinimo sritis.
10. Negauname pagalbos iš stipresnių žaidėjų:
- Problema: Jei nesikreipiate pagalbos į stipresnius žaidėjus, galite praleisti tobulėjimo galimybes.
- Sprendimas: kreipkitės pagalbos į stipresnius žaidėjus, kad išmoktumėte naujų strategijų ir pagerintumėte žaidimą.
11. Nenaudojant įvardytų grąžinimo verčių:
- Problema: Nenaudojant įvardytų grąžinimo reikšmių, kodas gali būti sunkiau įskaitomas.
- Sprendimas: naudokite pavadintas grąžinimo reikšmes, kad kodą būtų lengviau skaityti ir jį būtų lengviau prižiūrėti.
12. Neteisingas atidėjimo naudojimas:
- Problema: netinkamai naudojant raktinį žodį „atidėti“ gali būti sunku perskaityti ir suprasti kodą.
- Sprendimas: įsitikinkite, kad teisingai naudojate „atidėti“, kad atidėtumėte funkcijos vykdymą, kol grįš aplinkinė funkcija.
13. Neteisingas duomenų tipų naudojimas:
– Problema: naudojant netinkamo tipo duomenis, gali atsirasti netikėtų veiksmų.
- Sprendimas: įsitikinkite, kad darbui naudojate teisingą duomenų tipą.
14. Įtaisytųjų bibliotekų nenaudojama:
– Problema: nenaudojant įtaisytųjų bibliotekų gali būti sunkiau parašyti ir prižiūrėti kodą.
- Sprendimas: naudokite integruotas bibliotekas, kad sutaupytumėte laiko ir pastangų.
15. Nenaudojate pūkavimo įrankių:
– Problema: Jei nenaudojate pūkavimo įrankių, kodas gali būti sunkiau įskaitomas ir suprantamas.
– Sprendimas: naudokite pūkavimo įrankius, pvz., „golangci-lint“, kad nustatytumėte kodo klaidas.
Vengdami šių įprastų klaidų, galite užtikrinti, kad jūsų „Go“ kodas būtų efektyvus, skaitomas ir prižiūrimas.
Citatos:[1] https://www.bacancytechnology.com/blog/common-mistakes-in-go
[2] https://www.reddit.com/r/baduk/comments/9wocj0/common_mistakes_in_learning_go/
[3] https://www.manning.com/books/100-go-mistakes-and-how-to-avoid-them
[4] https://www.linkedin.com/posts/ubaydah_five-common-mistakes-to-avoid-when-learning-activity-7057402591013482496-TeIu?trk=public_profile_like_view
[5] https://www.tftus.com/blog/the-most-common-golang-development-mistakes