Declaraciones
// Constantes con type explicito
const pi float64 = 3.15
// Constantes con type implicito
const pi = 3.1415
// Variable : declaración y asignación implicita
base := 12
// Variable
var altura int = 14
var area int
Ver todos los types aqui
Zero values
// Creación de variables con valores predefinidos
var a int // 0
var b float // 0
var c string // ''
var d boolean // false
Operadores aritméticos
var sum = 2 + 5
var substraction = 5 - 2
var multiplication = 5 * 2
var division = 10 / 2
var modulus = 10 % 2
var increment = 0
increment++ // 1
var decrement = 10
decrement-- // 9
Funciones
// recibe dos enteros y retorna un entero
func add(x int, y int) int {
return x + y
}
func add(x,y int) int {
return x + y
}
// Retornar multiples values
func swap(x, y string) (string, string) {
return y, x
}
func main() {
a, b := swap("hello", "world")
fmt.Println(a, b)
// descargar el segundo valor retornado con _
a, _ := swap("hello", "world")
}
// Retornar valores nombrados
func split(sum int) (x, y int) {
x = sum * 4 / 9
y = sum - x
return
}
func main() {
fmt.Println(split(17)) // 7 10
}
Funciones anónimas
func main() {
// Ejemplo basico de funcion anonima
var num int = 0
incrementar := func() int {
num++
return num
}
fmt.Println("Num: ", num) // 0
fmt.Println("Num: ", incrementar()) // 1
fmt.Println("Num: ", incrementar()) // 2
}