Oscar Luis Sánchez Jara
I am an enthusiastic software developer, I like working with PHP, Ruby, Golang, I have knowledge in Ethical Haking and I love playing drums rock \uu/
Dev-Lusaja
Sígueme en:
/dev_lusaja
/dev-lusaja
Es un lenguaje de programación de código abierto que permite construir de manera sencilla un software que sea simple, seguro y confiable.
Fue desarrollado por los ingenieros de Google Robert Griesemer, Rob Pike, y Ken Thompson en el 2007 como alternativa al C++.
El lenguaje fue liberado en noviembre del 2009 y ahora se utiliza en algunos de los sistemas de producción de Google.
$ mkdir $HOME/go-projects
$ export GOPATH=$HOME/go-projects
$ export PATH=$PATH:$GOPATH/bin
go-projects/
bin/
hola # comando ejecutable
pkg/
linux_amd64/
github.com/golang/example/
example.a # paquetes externos
src/
hola/
hola.go # código fuente
$GOPATH
package main //nombre del paquete
import (
//paquetes importados
)
func init() {
//función de inicialización
}
func main() {
//función principal del programa
}
Tipo Boolean
Tipo Numeric
uint8 the set of all unsigned 8-bit integers (0 to 255)
uint16 the set of all unsigned 16-bit integers (0 to 65535)
uint32 the set of all unsigned 32-bit integers (0 to 4294967295)
uint64 the set of all unsigned 64-bit integers (0 to 18446744073709551615)
int8 the set of all signed 8-bit integers (-128 to 127)
int16 the set of all signed 16-bit integers (-32768 to 32767)
int32 the set of all signed 32-bit integers (-2147483648 to 2147483647)
int64 the set of all signed 64-bit integers ( +- 9223372036854775808)
float32 the set of all IEEE-754 32-bit floating-point numbers
byte alias for uint8
rune alias for int32
Tipo String
Tipo Array
Tipo Slice
Tipo Struct
Tipo Pointer
Tipo Function
Tipo Interface
Tipo Map
Tipo Channel
var (
nombre string
edad int
)
var nombre string
var edad int
var nombre = "Oscar"
func main(){
nombre, edad := "Dev-lusaja", 25
}
//character, string, boolean or numeric
const (
nombre string
edad int
)
const nombre string
const edad int
func main(){
const nombre = "Dev-lusaja"
}
package main
// importamos la librería fmt para hacer impresiones en pantalla.
import "fmt"
// recibimos 2 valores enteros y devolvemos un valor entero.
func suma(v1, v2 int) int {
res := v1 + v2
return res
}
// función principal del programa.
func main() {
res := suma(1,1)
fmt.Println(res)
}
//Resultado
//2
package main
import "fmt"
//Definimos un tipo de estructura llamada Usuario
type Usuario struct{
nombre string
edad int
}
func main() {
//Creamos una nueva estructura de tipo Usuario
usu := Usuario{"Dev-lusaja", 25}
fmt.Println(usu)
}
//Resultado
//{Dev-lusaja 25}
package main
import "fmt"
type Shaper interface {
Area() int
}
type Rectangle struct {
length, width int
}
func (r Rectangle) Area() int {
return r.length * r.width
}
func main() {
r := Rectangle{length:5, width:3}
fmt.Println("Rectangle r details are: ", r)
fmt.Println("Rectangle r's area is: ", r.Area())
s := Shaper(r)
fmt.Println("Area of the Shape r is: ", s.Area())
}
package main
import "fmt"
func Valor(val int){
val = 0
}
func Valor2(val *int){
*val = 0
}
func main() {
v := 1 //Resultado
fmt.Println("Valor inicial:", v) //Valor inicial: 1
value(v) //Usando func Valor: 1
fmt.Println("Usando func Valor:", v) //Usando func Valor2: 0
value2(&v)
fmt.Println("Usando func Valor2:", v)
}
By Oscar Luis Sánchez Jara
Charla Introducción a GO para el Ica Tech Day en la Universidad Nacional San Luis Gonzaga (UNICA). Ica - Perú
I am an enthusiastic software developer, I like working with PHP, Ruby, Golang, I have knowledge in Ethical Haking and I love playing drums rock \uu/