GO România
Agregator al celor mai importante știri și tutoriale pentru dezvoltatorii GO din România.
Cele mai noi știri
Refactorizare interactivă în gopls
Gopls a introdus refactorizarea interactivă, care permite utilizatorilor să personalizeze transformările de cod prin dialoguri dinamice în editori. Noua capacitate, dezvoltată împreună cu echipa Dart, este bazată pe protocolul Language Server și este disponibilă în gopls v0.24.0 și extensia Go pentru VS Code v0.56.0. Aceasta facilitează refactoring-uri cerând input utilizatorului pentru modificări cum ar fi adăugarea etichetelor structurilor sau implementarea interfețelor.
Citește mai mult →O săptămână de reutilizare mai bună a conexiunii HTTP/1
Go 1.27 introducează optimizări semnificative pentru reutilizarea conexiunilor HTTP/1, reducând timpul de răspuns de aproape cinci ori în comparație cu versiunea 1.26. Acum, net/http.Transport va curăța automat corpurile de răspuns neutilizate pentru a menține conexiunile disponibile, simplificând astfel gestionarea resurselor în aplicațiile Go. Aceasta schimbare îmbunătățește performanța generală și ușurează munca dezvoltatorilor, promovând un cod mai curat și mai simplu.
Citește mai mult →Integrarea în toolchain-ul Go
Go Weekly revine cu noutăți importante, inclusiv lansările Go 1.27.2 și 1.26.9, care corectează 15 vulnerabilități de securitate. De asemenea, este deschis apelul pentru propuneri la GopherCon Japan 2027, programată pentru februarie. Viitoare cursuri avansate despre dezvoltarea backend în Go vor fi disponibile în curând, iar discuțiile pe tema utilizării paths în importuri continuă.
Citește mai mult →SIMD specific pentru arhitectură în Go
Începând cu Go 1.27, a fost lansat un API experimentat pentru SIMD, care suportă acum arhitecturi arm64 și wasm, pe lângă amd64. Acest API oferă o interfață mai accesibilă și mai ușor de utilizat, eliminând necesitatea scrierii în limbaj de asamblare. Utilizatorii sunt încurajați să contribuie cu feedback pentru îmbunătățirea performanței și ergonomiei API-ului.
Citește mai mult →Go 1.27's portable SIMD
Go 1.27 introduce suport experimental pentru SIMD pe arm64 și wasm, plus un pachet portabil care emulează SIMD. De asemenea, discuții recente se concentrează pe adăugarea unui cuvânt cheie pentru tipuri sumare fără a compromite codul existent. Alte actualizări includ îmbunătățiri pentru testare automată și proiecte de prototipare pentru gestionarea sincronizării între canale.
Citește mai mult →SIMD independent de platformă în Go
Go 1.26 și 1.27 introduc API-uri experimentale pentru operațiuni SIMD (Single Instruction Multiple Data), care permit procesarea rapidă a vectorilor de date. Aceste API-uri sunt esențiale pentru îmbunătățirea performanței în sarcinile intensive de calcul, cum ar fi criptografia și procesarea datelor. Noile funcții permit o interfață SIMD portabilă, eliminând complexitatea accesului la diferitele arhitecturi SIMD, facilitând astfel utilizarea lor în aplicațiile Go.
Citește mai mult →O săptămână un IDE nativ scris în Go devine open source
Go 1.27 introduce alocații de memorie mai rapide pentru dimensiuni mici, cu câștiguri de până la 30% pentru alocări sub 80 de bytes. De asemenea, anunțuri importante includ progresele pentru cgo fără un toolchain C și evenimentele GopherCon Europe 2027 în Berlin. O alertă a fost emisă pentru dezvoltatorii de biblioteci populare Rust, subliniind riscurile ce afectează și proiectele Go.
Citește mai mult →Alocarea memoriei specializate pe dimensiune
Go 1.27 introducează o alocare de memorie specializată pentru dimensiuni sub 80 de bytes, îmbunătățind performanța cu 20-30%. Această optimizare se bazează pe funcții specializate care reduc timpul de alocare, în special pentru dimensiuni comune precum 16 și 24 de bytes. Dezvoltatorii pot beneficia de aceste îmbunătățiri prin actualizarea la Go 1.27, iar în caz de probleme, pot dezactiva capabilitatea specializată.
Citește mai mult →Construind cod cgo fără un compiler C?
O propunere recentă sugerează că pachetele Go care utilizează biblioteci C precompilate ar putea evita nevoia de compilator C, facilitând astfel construirea acestora. În plus, Ebitengine a devenit complet cgo-free pe platformele desktop, îmbunătățind procesul de cross-compilare. De asemenea, a fost lansat un driver oficial Pure Go pentru Oracle Database, acum în versiune beta.
Citește mai mult →Codul Go poate acum să ruleze înainte ca sistemul tău de operare să pornească
Go 1.27 a introdus un profil pentru detectarea goroutine-urilor blocate, îmbunătățind eficiența în producție. De asemenea, TinyGo 0.42 permite recuperarea din panici și bootarea PC-urilor, aducând suport pentru UEFI. Alte actualizări includ noi funcționalități în biblioteci precum AWS Lambda pentru Go și quic-go.
Citește mai mult →Goroutine leak profiles
Go 1.27 a introdus un profiler pentru detectarea scurgerilor de goroutines, îmbunătățind astfel identificarea problemelor de concurență în aplicațiile Go, inclusiv în medii de producție. Acest instrument este mai precis decât metodele anterioare și generează puține fals pozitive, concentrându-se pe goroutines blocate permanent pe primitive de concurență. Deși eficient, profilerul are limitări, precum incapacitatea de a detecta scurgerile în cazurile de blocare non-standard sau în aplicările care utilizează operațiuni de intrare/ieșire.
Citește mai mult →Metode generice apar în Go 1.27
Go 1.27 a fost lansat, aducând actualizări semnificative, inclusiv metode generice care permit parametrizarea tipurilor pe metodele concrete. De asemenea, Rob Pike, co-creatorul Go, a primit premiul USENIX pentru realizări deosebite. În plus, diverse unelte și biblioteci noi au fost anunțate, inclusiv Goldmark 2.0 și Staticcheck pentru Go 1.27.
Citește mai mult →