golang

Hoppas någon implementerar dynamiskt laddade binärer

Som det går att läsa här så hoppas jag verkligen att någon inom Google eller kunnig i C implenterar dynamiskt körbara moduler i Golang.

Detta är ju något som alla systemspråk har på något sätt och Golang kallar sig ett systemspråk.


Uppdatering av Golang på Mac OS X

Tydligen var det inte så smidigt som jag hade hoppats att uppdatera Golang på OS X. Ett välkänt fel i antingen Python installationen eller mercurial gör att scriptet slutar fungera efter ett tag.

Väldigt mystiskt eftersom jag lyckades installera Golang utan problem med Python som fanns förinstallerat på maskinen men nu när jag skulle uppdatera så klagar Python om att hg scriptet som ingår i Mercurial inte existerar.

Det kan se ut lite så här.

~ >: hg
Traceback (most recent call last):
  File "/usr/local/bin/hg", line 5, in <module>


Goroutines och TCP-programmering i Golang

Detta började med att vilja lära mig nätverksprogrammering för mitt projekt men slutade med att jag lärde mig något mycket mer spännande.

Problemen började då jag insåg att jag inte visste hur jag skulle polla flera filer eller sockets efter data som man i C gör med select/poll/kqueue.

Jag frågade på go-nuts listan och blev tipsad om goroutines.


Regexp i Golang

Har fått ny telefon och haft lite böcker att läsa igenom men nu har jag börjat leka lite med Golang igen och gjort färdigt ännu ett inlärningsprogram.

Denna gången behövde jag lära mig regexp paketet för att kunna fortsätta med mitt Golang-projekt.


Paket i Golang

Ett paket i Golang är deras motsvarighet av bibliotek i C. Dock används dom lite som moduler eller paket i andra scriptspråk som Perl och Python.

Vi gör ett ganska enkelt paket här som visar hur receivers och publika funktioner används.


Golang dokumentation lokalt

Dagens UNIX-tips handlar otippat om Golang och hur du kan få tag på dokumentationen när du inte är online.

Jag tyckte detta var ganska fiffigt, har du $GOBIN i din $PATH från installationen och $GOROOT satt till där hela paketet är så behöver du bara skriva följande.

godoc -http=:6060

Detta startar en simpel webbserver på port 6060 av localhost på din maskin så du kan skriva http://localhost:6060/pkg/net/ t.ex. för att nå dokumentationen av net.paketet samt hela golang.org webbsidan.


Lite Golang exempel

Jag har börjat koda Golang ganska skarpt nu och trivs verkligen med språket. Kan varmt rekommenderas till alla som föredrar UNIX-utveckling och C framför mer moderna språk och högnivåsystem.

Trots att det finns xcode-specifikationer för språket har jag fortsatt utveckla i vim som jag är van vid när det gäller C t.ex.

Jag använder mig av $GOROOT/misc/vim/go.vim filen för färgsättning och formatering av syntax.


Golang på BSD

Golang skrevs det om i Slashdot för ett litet tag sedan. Just då tänkte jag inte mycket på det förutom att källkoden inkluderade lib9 från Plan9.

Idag började vi dock prata om Erlang på IRC vilket fick mig att tänka på Golang på grund av likheterna i namnet. ;)

Så jag bestämde mig för att installera det på en labmaskin och testa. Jag har labmaskiner i VMware så är inte så begränsad av OS, men jag har mycket annat på en viss FreeBSD VM så jag körde på den trots att Golang sas endast stödja Linux och OS X.


Prenumerera på innehåll