SlideShare una empresa de Scribd logo
Go 101: Primeros Pasos   @oscar_lopez
Presentación: Go
•    Programación imperativa, estructurada y libre
•    También: programación funcional básica
•    Compilado, estática y fuertemente tipado
•    Seguro: tipos y memoria
•    Programación del sistema -> propósito general
•    Desarrollado por Google, apareció en 2009, diseñado por Robert
     Griesemer, Rob Pike y Ken Thompson
•    Influencias: C, Limbo, Modula, Newsqueak, Oberon, Pascal,
     Python
•    Recolector de basura eficiente, libre de latencia
•    Primitivas de concurrencia modernas
•    Compilación muy rápida, interacción con C
•    Soportado en Google App Engine
                        OLAP-2012 All Rights Reserved             2
Estructura Básica

•    Hola, Mundo!
•    Paquetes
•    Imports
•    Tipos de datos
•    Funciones I
•    Constantes
•    Variables

                 OLAP-2012 All Rights Reserved   3
Instrucciones de Control

•    If
•    Switch
•    For
•    Range




               OLAP-2012 All Rights Reserved   4
Estructuras de Datos

•    Structs
•    Apuntadores
•    Arreglos
•    Slices
•    Mapas
•    Listas doblemente encadenadas, heap
•    Funciones II

                 OLAP-2012 All Rights Reserved   5
Estructura Avanzada

•  Métodos
•  Interfaces
•  Manejo de errores
  defer(), panic(), recover()




               OLAP-2012 All Rights Reserved   6
Concurrencia

•    Goroutines
•    Channels
•    Close, Range
•    Select




                OLAP-2012 All Rights Reserved   7
Otros Paquetes y Funciones

•    Paquetes
•    Servidor web
•    Imágenes
•    Funciones predefinidas:
     close(), len(), cap(), make(),
     new(), append(), copy(), delete(),
     complex(), real(), imag(),
     panic(), recover()

                 OLAP-2012 All Rights Reserved   8
Bibliografía
•  Documentación http://golang.org/doc/
•  Instalación y ejecución de programas en Go
   http://golang.org/cmd/go/
•  App Engine
   https://developers.google.com/appengine/
   docs/go/gettingstarted/
•  Mejores prácticas
   http://golang.org/doc/effective_go.html
•  Especificación del lenguaje
   http://golang.org/ref/spec
                OLAP-2012 All Rights Reserved   9
Bibliografía
•  Tutorial programación funcional
   http://golang.org/doc/codewalk/functions/
•  Tutorial aplicaciones web
   http://golang.org/doc/articles/wiki/
•  Tutorial concurrencia
   http://golang.org/doc/codewalk/sharemem/
•  Manejo de errores
   http://golang.org/doc/articles/
   defer_panic_recover.html
•  Uso de slices
   http://golang.org/doc/articles/
   slices_usage_and_internals.html
                  OLAP-2012 All Rights Reserved   10
Reto
La posada “La Vecindad del Chavo” lleva más de diez años brindando servicio de alojamiento
a un conjunto de personas. Con el fin de organizar sus finanzas, quiere implementar un
Sistema de Información que le permita administrar los dineros aportados por sus inquilinos por
concepto de Arriendo.

Para el cobro del arriendo se debe tener en cuenta.

El pago del arriendo es de $450.000 mensuales, sin embargo tendrá un incremento del 10% si
no es pagado en los 5 primeros días del mes.

El sistema deberá entonces:

1. Permitir el ingreso de los datos básicos de los arrendatarios en cada lugar:   Nombres,
documento, lugar de residencia.
2. Permitir el ingreso de los pagos mensuales de cada inquilino

Enunciado:
https://docs.google.com/document/d/1c6EEDyryYFa4Uydv-T00VMhXYobTmiQplttxuhPtMtw/
edit?pli=1
                                  OLAP-2012 All Rights Reserved                              11

Más contenido relacionado

Destacado

Trabajo Ejemplos Textos Apa
Trabajo Ejemplos Textos  ApaTrabajo Ejemplos Textos  Apa
Trabajo Ejemplos Textos Apapolipicachi2
 
Presentacion Acupuntura
Presentacion AcupunturaPresentacion Acupuntura
Presentacion Acupunturarominat
 
Acupuntura
AcupunturaAcupuntura
La acupuntura
La acupunturaLa acupuntura
La acupuntura
Juliana Peláez
 
Acupuntura
AcupunturaAcupuntura
Transporte aereo
Transporte aereoTransporte aereo
Transporte aereo
Gustavo Gómez
 
Blogs Educativos Final
Blogs Educativos FinalBlogs Educativos Final
Blogs Educativos Finalgueste668df
 
Ejemplo de ensayo con normas apa
Ejemplo de ensayo con normas apaEjemplo de ensayo con normas apa
Ejemplo de ensayo con normas apaafroson
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with Data
Seth Familian
 

Destacado (12)

Trabajo Ejemplos Textos Apa
Trabajo Ejemplos Textos  ApaTrabajo Ejemplos Textos  Apa
Trabajo Ejemplos Textos Apa
 
Presentacion Acupuntura
Presentacion AcupunturaPresentacion Acupuntura
Presentacion Acupuntura
 
Acupuntura
AcupunturaAcupuntura
Acupuntura
 
La acupuntura
La acupunturaLa acupuntura
La acupuntura
 
Acupuntura
AcupunturaAcupuntura
Acupuntura
 
Acupuntura
AcupunturaAcupuntura
Acupuntura
 
Atlas de acupuntura
Atlas de acupunturaAtlas de acupuntura
Atlas de acupuntura
 
Transporte aereo
Transporte aereoTransporte aereo
Transporte aereo
 
Blogs Educativos Final
Blogs Educativos FinalBlogs Educativos Final
Blogs Educativos Final
 
Norma APA con ejemplos
Norma APA con ejemplosNorma APA con ejemplos
Norma APA con ejemplos
 
Ejemplo de ensayo con normas apa
Ejemplo de ensayo con normas apaEjemplo de ensayo con normas apa
Ejemplo de ensayo con normas apa
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with Data
 

Similar a Go 101: Primeros Pasos

Integración de Oracle Data Integrator con Oracle GoldenGate 12c
Integración de Oracle Data Integrator  con Oracle GoldenGate 12cIntegración de Oracle Data Integrator  con Oracle GoldenGate 12c
Integración de Oracle Data Integrator con Oracle GoldenGate 12c
Edelweiss Kammermann
 
Aplicaciones web altamente escalables con Redis
Aplicaciones web altamente escalables con RedisAplicaciones web altamente escalables con Redis
Aplicaciones web altamente escalables con RedisAlberto Gimeno
 
Drupal mas que un cms
Drupal mas que un cmsDrupal mas que un cms
Drupal mas que un cms
eccutpl
 
Grails, opción real y escalable para sitios web de alta carga
Grails, opción real y escalable para sitios web de alta cargaGrails, opción real y escalable para sitios web de alta carga
Grails, opción real y escalable para sitios web de alta carga
Domingo Suarez Torres
 
EasyData: OpenData and easy access
EasyData: OpenData and easy accessEasyData: OpenData and easy access
EasyData: OpenData and easy access
Juan Vazquez Murga
 
Paralela9
Paralela9Paralela9
Paralela9
Abraham Zamudio
 
Polybase
PolybasePolybase
Polybase
SolidQ
 
Code Igniter
Code IgniterCode Igniter
Code Igniter
Claudio Montoya
 
Inciación a Drupal 8
Inciación a Drupal 8Inciación a Drupal 8
Inciación a Drupal 8
Julian Valero
 
Qué puede aprender Drupal de Plone
Qué puede aprender Drupal de PloneQué puede aprender Drupal de Plone
Qué puede aprender Drupal de Plone
menttes
 
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidadDrupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
Iván Campaña Naranjo
 
Software OpenERP & Metodología ERP
Software OpenERP & Metodología ERPSoftware OpenERP & Metodología ERP
Software OpenERP & Metodología ERP
Gustavo González
 
Django - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales ConceptosDjango - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales Conceptos
George Navarro Gomez
 
Django - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales ConceptosDjango - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales Conceptos
George Navarro Gomez
 
Python Gae django
Python Gae djangoPython Gae django
Python Gae django
Manuel Pérez
 
Cómo crear un RESTful API con Go
Cómo crear un RESTful API con GoCómo crear un RESTful API con Go
Cómo crear un RESTful API con Go
Software Guru
 
Capacitacion Apex 5 Oracle - Daniel Bermudez
Capacitacion Apex 5 Oracle - Daniel BermudezCapacitacion Apex 5 Oracle - Daniel Bermudez
Capacitacion Apex 5 Oracle - Daniel Bermudez
Daniel Bermudez
 
Herramientas para el diseño e implementación de Cubos .pptx
Herramientas para el diseño e implementación de Cubos .pptxHerramientas para el diseño e implementación de Cubos .pptx
Herramientas para el diseño e implementación de Cubos .pptx
AlejandroGuerrero892330
 

Similar a Go 101: Primeros Pasos (20)

Integración de Oracle Data Integrator con Oracle GoldenGate 12c
Integración de Oracle Data Integrator  con Oracle GoldenGate 12cIntegración de Oracle Data Integrator  con Oracle GoldenGate 12c
Integración de Oracle Data Integrator con Oracle GoldenGate 12c
 
Aplicaciones web altamente escalables con Redis
Aplicaciones web altamente escalables con RedisAplicaciones web altamente escalables con Redis
Aplicaciones web altamente escalables con Redis
 
Drupal mas que un cms
Drupal mas que un cmsDrupal mas que un cms
Drupal mas que un cms
 
Grails, opción real y escalable para sitios web de alta carga
Grails, opción real y escalable para sitios web de alta cargaGrails, opción real y escalable para sitios web de alta carga
Grails, opción real y escalable para sitios web de alta carga
 
Drupal
DrupalDrupal
Drupal
 
EasyData: OpenData and easy access
EasyData: OpenData and easy accessEasyData: OpenData and easy access
EasyData: OpenData and easy access
 
Paralela9
Paralela9Paralela9
Paralela9
 
Polybase
PolybasePolybase
Polybase
 
Code Igniter
Code IgniterCode Igniter
Code Igniter
 
Inciación a Drupal 8
Inciación a Drupal 8Inciación a Drupal 8
Inciación a Drupal 8
 
Qué puede aprender Drupal de Plone
Qué puede aprender Drupal de PloneQué puede aprender Drupal de Plone
Qué puede aprender Drupal de Plone
 
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidadDrupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
 
Software OpenERP & Metodología ERP
Software OpenERP & Metodología ERPSoftware OpenERP & Metodología ERP
Software OpenERP & Metodología ERP
 
Django - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales ConceptosDjango - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales Conceptos
 
Django - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales ConceptosDjango - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales Conceptos
 
Python Gae django
Python Gae djangoPython Gae django
Python Gae django
 
Cómo crear un RESTful API con Go
Cómo crear un RESTful API con GoCómo crear un RESTful API con Go
Cómo crear un RESTful API con Go
 
Capacitacion Apex 5 Oracle - Daniel Bermudez
Capacitacion Apex 5 Oracle - Daniel BermudezCapacitacion Apex 5 Oracle - Daniel Bermudez
Capacitacion Apex 5 Oracle - Daniel Bermudez
 
Herramientas para el diseño e implementación de Cubos .pptx
Herramientas para el diseño e implementación de Cubos .pptxHerramientas para el diseño e implementación de Cubos .pptx
Herramientas para el diseño e implementación de Cubos .pptx
 
Presentacion cw2012
Presentacion cw2012Presentacion cw2012
Presentacion cw2012
 

Último

Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
cj3806354
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
Leidyfuentes19
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
44652726
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
Fernando Villares
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
PABLOCESARGARZONBENI
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
Alan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentaciónAlan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentación
JuanPrez962115
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
Luis Enrique Zafra Haro
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
AlejandraCasallas7
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
coloradxmaria
 

Último (20)

Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
Alan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentaciónAlan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentación
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
 

Go 101: Primeros Pasos

  • 1. Go 101: Primeros Pasos @oscar_lopez
  • 2. Presentación: Go •  Programación imperativa, estructurada y libre •  También: programación funcional básica •  Compilado, estática y fuertemente tipado •  Seguro: tipos y memoria •  Programación del sistema -> propósito general •  Desarrollado por Google, apareció en 2009, diseñado por Robert Griesemer, Rob Pike y Ken Thompson •  Influencias: C, Limbo, Modula, Newsqueak, Oberon, Pascal, Python •  Recolector de basura eficiente, libre de latencia •  Primitivas de concurrencia modernas •  Compilación muy rápida, interacción con C •  Soportado en Google App Engine OLAP-2012 All Rights Reserved 2
  • 3. Estructura Básica •  Hola, Mundo! •  Paquetes •  Imports •  Tipos de datos •  Funciones I •  Constantes •  Variables OLAP-2012 All Rights Reserved 3
  • 4. Instrucciones de Control •  If •  Switch •  For •  Range OLAP-2012 All Rights Reserved 4
  • 5. Estructuras de Datos •  Structs •  Apuntadores •  Arreglos •  Slices •  Mapas •  Listas doblemente encadenadas, heap •  Funciones II OLAP-2012 All Rights Reserved 5
  • 6. Estructura Avanzada •  Métodos •  Interfaces •  Manejo de errores defer(), panic(), recover() OLAP-2012 All Rights Reserved 6
  • 7. Concurrencia •  Goroutines •  Channels •  Close, Range •  Select OLAP-2012 All Rights Reserved 7
  • 8. Otros Paquetes y Funciones •  Paquetes •  Servidor web •  Imágenes •  Funciones predefinidas: close(), len(), cap(), make(), new(), append(), copy(), delete(), complex(), real(), imag(), panic(), recover() OLAP-2012 All Rights Reserved 8
  • 9. Bibliografía •  Documentación http://golang.org/doc/ •  Instalación y ejecución de programas en Go http://golang.org/cmd/go/ •  App Engine https://developers.google.com/appengine/ docs/go/gettingstarted/ •  Mejores prácticas http://golang.org/doc/effective_go.html •  Especificación del lenguaje http://golang.org/ref/spec OLAP-2012 All Rights Reserved 9
  • 10. Bibliografía •  Tutorial programación funcional http://golang.org/doc/codewalk/functions/ •  Tutorial aplicaciones web http://golang.org/doc/articles/wiki/ •  Tutorial concurrencia http://golang.org/doc/codewalk/sharemem/ •  Manejo de errores http://golang.org/doc/articles/ defer_panic_recover.html •  Uso de slices http://golang.org/doc/articles/ slices_usage_and_internals.html OLAP-2012 All Rights Reserved 10
  • 11. Reto La posada “La Vecindad del Chavo” lleva más de diez años brindando servicio de alojamiento a un conjunto de personas. Con el fin de organizar sus finanzas, quiere implementar un Sistema de Información que le permita administrar los dineros aportados por sus inquilinos por concepto de Arriendo. Para el cobro del arriendo se debe tener en cuenta. El pago del arriendo es de $450.000 mensuales, sin embargo tendrá un incremento del 10% si no es pagado en los 5 primeros días del mes. El sistema deberá entonces: 1. Permitir el ingreso de los datos básicos de los arrendatarios en cada lugar: Nombres, documento, lugar de residencia. 2. Permitir el ingreso de los pagos mensuales de cada inquilino Enunciado: https://docs.google.com/document/d/1c6EEDyryYFa4Uydv-T00VMhXYobTmiQplttxuhPtMtw/ edit?pli=1 OLAP-2012 All Rights Reserved 11