Go es un nuevo lenguaje de programación creado por Google que combina lo bueno de C y Python. (Obs: Solo es compatible con Linux y Mac)
Yo lo logré instalar en Ubuntu 9.10 siguiendo los siguientes pasos:
1. Agregando Variables de entorno al bashrc:
Para editar: gedit ~/.bashrc
Agregamos estas líneas al final:
export GOROOT=$HOME/go
export GOOS=linux
export GOARCH=386
export GOBIN=$HOME/bin
export PATH=$PATH:$GOBIN
Guardamos las modificaciones: source ~/.bashrc
2.- Instalamos mercurial: sudo aptitude install mercurial
3.- Descargamos el codigo fuente: hg clone -r release https://go.googlecode.com/hg/ $GOROOT
4. Necesitamos: sudo aptitude install bison gcc libc6-dev ed
Compilamos el código: mkdir $GOBIN
cd $GOROOT/src
./all.bash
Y listo, ya está instalado
5. Para compilar códigos(previamente guardados en nuestra carpeta home\usuario)
8g nombredearchivo.go
y para plataformas de 64 bits: 6g nombredearchivo.go
Para crear el ejecutable: 8l nombredearchivo.8
o 6l para 64 bits
Para ejecutar: ./8.out
Obs: Todos estos pasos están explicados en su web oficial (http://golang.org/doc/go_tutorial.html) (inglés), aunque yo los copié de un blog de por allí.
Aquí adjunto tres clases explicativas de Go, hechas por el propio google, en formato pdf:
* Clase 01 (http://www.scribd.com/doc/22534817/GoCourseDay1)
* Clase 02 (http://www.scribd.com/doc/22534860/Go-Course-Day-2)
* Clase 03 (http://www.scribd.com/doc/22534925/Go-Course-Day-3)
Cita de: NoE3L"//R en Noviembre 14, 2009, 05:46:18 AM
Las ideas de los dias de hoy largar un nuevo lenguaje vaya que noce si lo voy a aprender se ve complicado
Estoy comenzando a estudiar este nuevo lenguaje, aunque no pienzo instalar nada hasta que salga chrome OS alpha la proxima semana
ammm... interesante...
saludos...
Cita de: Fitoschido en Noviembre 18, 2009, 12:11:15 PM
oigan... y saliendo un poco de la linea de la programacion...
que opinan de que a Google ya los demandaron por usar el nombre Go?
Pasa la noticia carnal.
yo no sabia.
me retiro cuidense...
Programando en Go 01 :
Anotaciones interesantes sobre este lenguaje:
* Comentarios:
Los comentarios funcionan de la misma manera que en C.
/*Esto es un comentario/*
//Esto también
*Variables
Se declaran de manera inversa a la del C.
var a int
var b, c *int
*Estructuras de Control
El funcionamiento es similar, los paréntesis no son requeridos pero las llaves sí.
if a==b
{
return true
}
else
{
return false
}
for i=0; i<10; i++
{
//aquí va el bloque de código
}
Ejemplo:
package main
import "fmt"
var a, b int;
func main()
{
a, b = 8, 6;
if a>b
{
fmt.Printf("a es mayor que b\n");
}
}
* Puntos y comas
Los puntos y comas separan declaraciones( no las terminan como se hacía en C al final de cada declaración).
package main
import "fmt"
const three = 3
var i int = three
func main()
{
fmt.Printf("%d\n",i)
}
package main
import "fmt"
const four = 4;
var i int = four;
func main()
{
fmt.Printf("%d\n",i);
}
Es posible sin embargo usar los puntos y comas para separar declaraciones, aunque se aclara que no son necesarios.
*Tipos numéricos
Los tipos numéricos serán los ya familiares:
int uint float int8 ...
* Booleanos
Toman: true and false (como predefinido ara las constantes)
Las declaraiones if, etc usan expresiones booleanas.
Los punteros y enteros no son booleanos.
*Expresiones
Los ya conocidos operadores de C.
* / % << >> & + - | ^ == != < <= > >= <- && ||
*Asignación
La asignación es la ya familiar.
a = b;
a, b = b, a
Todo ello fue extraido de las diapositivas que subí anteriormente(Clases de Go por Google), publicaré más, luego, si me es posible.
Me llamo Alexander ¬¬
Encontre un grupo de google creado para aquellos hispanohablantes que desean arender este nuevo lenguaje: Golang spanish (http://groups.google.es/group/golang-spanish).
Entre lo que han publicado se encuentra el tutorial de go (http://groups.google.es/group/golang-spanish/web/tutorial) traducido(en progreso).
Para aquellos que no puedan instalarse golang en mac o linux, un compilador online: Compilador de go (http://gofmt.com/compile.html) , además de ello, algunos programas (http://golang.org/doc/progs/) de la documentación de go.