CursosEmpresasBlogLiveConfPrecios

Declaración de variables y constantes

Clase 8 de 34 • Curso de Programación en Go 2016

Clase anteriorSiguiente clase

Contenido del curso

Introducción
  • 1
    Introducción a Go

    Introducción a Go

    05:24
  • 2
    Instalación de Go: Instalación de Go en Ubuntu

    Instalación de Go: Instalación de Go en Ubuntu

    04:39
  • 3
    Instalación de Go: Instalación de Go en Mac

    Instalación de Go: Instalación de Go en Mac

    01:53
  • 4
    Instalación de Go: Instalación de Go en Windows

    Instalación de Go: Instalación de Go en Windows

    02:24
Primeros pasos
  • 5
    Organizando el entorno de trabajo

    Organizando el entorno de trabajo

    04:01
  • 6
    Hola mundo

    Hola mundo

    05:27
  • 7
    Recibir valores del usuario

    Recibir valores del usuario

    05:46
  • 8
    Declaración de variables y constantes

    Declaración de variables y constantes

    08:15
  • 9
    Funciones

    Funciones

    07:47
  • 10
    Tipos de datos numéricos en Go: enteros, flotantes

    Tipos de datos numéricos en Go: enteros, flotantes

    08:39
  • 11
    Cadenas de texto básico

    Cadenas de texto básico

    06:27
  • 12
    Array y Slice

    Array y Slice

    07:45
  • 13
    Condicionales

    Condicionales

    05:43
  • 14
    For, break

    For, break

    06:20
Intermedio
  • 15
    Operaciones con cadenas

    Operaciones con cadenas

    08:17
  • 16
    Uso de la instrucción: Switch

    Uso de la instrucción: Switch

    05:03
  • 17
    Manejo de Paquetes

    Manejo de Paquetes

    15:54
  • 18
    Map

    Map

    10:19
  • 19
    Structs

    Structs

    06:46
  • 20
    Methods

    Methods

    03:09
  • 21
    Interfaces

    Interfaces

    10:04
  • 22
    defer

    defer

    02:49
  • 23
    Errores

    Errores

    12:09
Avanzados
  • 24
    Punteros

    Punteros

    08:28
  • 25
    Goroutines

    Goroutines

    06:06
  • 26
    Canales

    Canales

    14:47
  • 27
    Ejemplos de Canales

    Ejemplos de Canales

    11:52
  • 28
    Bibliotecas de Go

    Bibliotecas de Go

    11:48
  • 29
    Consumiendo una API externa

    Consumiendo una API externa

    12:21
  • 30
    Errores comunes en Go

    Errores comunes en Go

    05:03
  • 31
    Cierre del curso

    Cierre del curso

    01:33
Contenido Bonus
  • 32
    Cambiar el string

    Cambiar el string

    00:23
  • 33
    Struct para calcular

    Struct para calcular

    00:21
  • 34
    Leer un archivo del disco

    Leer un archivo del disco

    00:26
    Mario Menjívar

    Mario Menjívar

    student•
    hace 8 años

    Visual Studio Code Rocks! 😃

      Gianfranco Manganiello

      Gianfranco Manganiello

      student•
      hace 7 años

      😃

    Iván Toro

    Iván Toro

    student•
    hace 7 años

    Resultado final:

    // Go version: go1.10.1 linux/amd64 package main import "fmt" // Strings support formatting in your declaration const HELLO_USER string = "Hello %s %s, welcome to fantastic Go's world\n" // A const not used not produce a error // Go inference the type const ONE = 1 func main(){ // Declaration var name string // Assignation name = "Name" // Declaration and assignation, Go inference the type lastname := "Lastname" // Declaration and assignation, Go inference the type var helloWorld = "Hello world!" // Multiple assignation, equivalent to: // var a = 1 // var b = "Two" // var c = true var ( a = 1 b = "Two" c = true ) fmt.Print("What's your name? ") fmt.Scanf("%s", &name) fmt.Print("What's your lastname? ") fmt.Scanf("%s", &lastname) fmt.Printf(HELLO_USER, name, lastname) fmt.Println(helloWorld, a, b, c) }
      Jordan Lancheros

      Jordan Lancheros

      student•
      hace 7 años

      En el ejempo que das me pide el Name, por consola.
      pero al momento de ingresar lastname pasa de largo, como si no funcionara Scanf.
      por que ocurre esto?

      Jordan Lancheros

      Jordan Lancheros

      student•
      hace 7 años

      si quiero guardar una variable desde la consola tendria unicamente que declararla var name string
      y no name := “xxxx”

    Buzu B

    Buzu B

    student•
    hace 6 años

    Cabe mencionar que := solo puede usarse dentro de funciones.

      JUAN SEBASTIAN RODRIGUEZ JIMENEZ

      JUAN SEBASTIAN RODRIGUEZ JIMENEZ

      student•
      hace 6 años

      buen dato

    Jose Antonio Valle Minjares

    Jose Antonio Valle Minjares

    company_admin•
    hace 6 años

    El nombrado correcto de variables es importante tanto como su tipo, el Lantern de Go requiere convención de nombrado de variables en Camel case. Por tanto no esta bien visto los underscore y nombres compuestos sin Camel case.

    var mal_definida string = "No hagas Esto" var bienDefinida string = "Esto si esta bien" var estotampoco string = "Declara como arriba mejor"
    Ricardo Oriel Cuan Sánchez

    Ricardo Oriel Cuan Sánchez

    student•
    hace 6 años

    Usar := es una mala práctica? Me imagino que al revisar el código es mejor tener el tipo de dato antes que tener malas interpretaciones

      Jesus David Urquijo Corredor

      Jesus David Urquijo Corredor

      student•
      hace 6 años

      Pues, desde mi punto de vista, no lo considero de tan mala práctica He visto en muchísimos códigos de Go y también librerías donde se usa habitualmente el

      Texto := "Aprendiendo con Platzi!"

      a la hora de crear una variable, también de igual manera se usa

      var Texto string Texto = "Aprendiendo con platzi!"

      Así que yo no considero que sea de mala práctica y por su parte tampoco llenas tanto una zona declarando por ejemplo las 20 variables que usarás en una función en vez de declararlas en el momento que las necesitas, además reduce la cantidad de código escrito. (Supongo que así como se usa un () => {codigo} en Javascript)

      Santiago Chaustre Perdomo

      Santiago Chaustre Perdomo

      student•
      hace 6 años

      Concuerdo totalmento contigo, usar tipado estático hace que el codigo fuente sea mucho leible y facil de entender, en especial cuando se requiere conocer el comportamiento de cierta información

    Samuel Delgado Muñoz

    Samuel Delgado Muñoz

    student•
    hace 8 años

    Tengo una pregunta, Para que se usan las comillas simples ‘’ en que las diferencia con respecto a “”? gracias.

      Diego Forero

      Diego Forero

      Team Platzi•
      hace 8 años

      En go se usan siempre comillas dobles " para definir strings o cadenas de texto, el uso de comillas sencilla ' es para algo llamado rune literals lo que hace es por ejemplo si tienes 'a' va a usar el valor unicode de la letra a que es 97.

      Samuel Delgado Muñoz

      Samuel Delgado Muñoz

      student•
      hace 8 años

      gracias por el dato, Interesante

    Yojan Antonio Pardo Zabala

    Yojan Antonio Pardo Zabala

    student•
    hace 7 años

    Este es mi resultado, utilicé los diferentes verbos para dar formato e imprimir las varibles con diferentes tipos de datos

    package main import "fmt" const HELLO_USER string = "Hola %s %s, Bienvenido al fascinante mundo de Go\n" func main(){ var name string lastname := "apellido" var ( a = 1 b = "dos" c = false ) fmt.Print("Ingresa tu nombre:") fmt.Scanf("%s", &name) fmt.Print("Ingresa tu apellido:") fmt.Scanf("%s", &lastname) fmt.Printf(HELLO_USER, name, lastname) fmt.Printf("%b %s %t\n",a,b,c) }
    LUIS MIGUEL ZAVALA FELIX

    LUIS MIGUEL ZAVALA FELIX

    student•
    hace 6 años

    Tengo una serie de problemas al usar Go desde Windows. algunas veces me manda error de sintaxis o que no reconoce la instruccion.

    package main import "fmt" func main() { var name string; var lastName string; fmt.Print("Ingresa tu nombre: "); fmt.Scanf("%s" ,&name); fmt.Print("Ingresa tu Apellido: "); fmt.Scanf("%s", &lastName); fmt.Printf("Bienvenido %s %s, al mundo de Go", name, lastName); }``` En windows se salta la segunda peticion de valor. (apellido) .

    PS C:\Users\xxx\go\src\github.com\luismigeel\cursogo> .\main.exe Ingresa tu nombreluis Ingresa tu Apellido Bienvenido luis , al mundo de Go PS C:\Users\xxx\go\src\github.com\luismigeel\cursogo>```

    este mismo codigo lo pruebo en https://repl.it y todo funciona bien. alguna idea porque suceda eso. ???

    Gustavo Eduardo Navarro Rodríguez

    Gustavo Eduardo Navarro Rodríguez

    student•
    hace 8 años

    Por convención en la programación, se recomienda siempre usar mayúsculas para las constantes, así se pueden diferenciar de las variables.

    Yonathan Gutierrez

    Yonathan Gutierrez

    student•
    hace 8 años
    package main import "fmt" const holamundo string = "hola %s %s, bienvenido \n" func main() { var name string lastname := "<Modifica el apellido>" fmt.Print("ingrese nombre: ") fmt.Scanf("%s", &name) fmt.Print("Ingrese apellido: ") fmt.Scanf("%s", &lastname) fmt.Printf(holamundo, name, lastname) fmt.Println("iniciando") }```
      Yonathan Gutierrez

      Yonathan Gutierrez

      student•
      hace 8 años

      probando lo instruido, solo que le hice algunas pequeñas variaciones…

    wesly hernandez

    wesly hernandez

    student•
    hace 7 años

    Este es mi resultado de mi código:
    Si tiene algún error, me pueden decir. Me gustaría aprender bien este lenguaje.

    This is my result of my code:
    If i have an error, you can tell me. I would like to learn this language well.

    package main import "fmt" // Decalration string const helloUser string = "Hello %s %s, Welcome to Go\n" func main() { // Declaration variable var name string name = "Name" lastname := "Lastname" var helloWorld = "Hello World! :)" // Declaration multiple variable and assignation var ( a = 1 b = "Two" c = 3 ) fmt.Print("What's your name: ") fmt.Scanf("%s", &name) fmt.Print("What's your lastname: ") fmt.Scanf("%s", &lastname) fmt.Printf(helloUser, name, lastname) fmt.Println(helloWorld, a, b, c) }
    Jose L. Figueroa

    Jose L. Figueroa

    student•
    hace 7 años

    Además de Go-Plus, qué extensión utilizas para que se te marquen los puntos de los errores???

      Rafael Pardo Rodriguez

      Rafael Pardo Rodriguez

      student•
      hace 7 años

      Puedes buscar en cada editor de texto, si usas vscode y abres un archivo Go, te aparece la extensión del lenguaje.

    Jose L. Figueroa

    Jose L. Figueroa

    student•
    hace 7 años

    Declaración de variables

    Para declarar una variable en GO se realiza de la siguiente forma:

    var VAR_NAME VAR_TYPE

    Donde:

    • var es la palabra reservada para la declaración de variables
    • VAR_NAME es el nombre de la variable
    • VAR_TYPE es el tipo de la variable

    Por ej:
    var name string

    Las variables también se pueden inicializar en la declaración:

    var name string = "Nombre"

    Las variables también se pueden declarar de la forma shortcut :

    lastname := "Modificar con mi apellido"

    O se puede realizar un conjunto de declaración de variables:

    var ( a = 1 b = 2 c = 3 )

    Declaración de Constantes

    Las constantes se declaran de la siguiente manera:

    const CONST_NAME CONST_TYPE = “CONST_VALUE”

    donde:

    • const palabra reservada para la declaración de constantes
    • CONST_NAME es el nombre de la constantes
    • CONST_TYPE es el tipo de la constantes
    • CONST_VALUE valor de la constante

    Por ej:

    const testConst string = "Test"

    José Emanuel Castelán Cortés

    José Emanuel Castelán Cortés

    student•
    hace 7 años

    También se pueden crear variables de la siguiente manera, con la que intuye Go el tipo de variable

    variable2 := "Esta variable es texto"

    Go también infiere el tipo de dato usando var e igualando con una variable inicial.

    var number = 100"

    Para múltiples variables, se hace lo siguiente

    var ( a = 1 b = 2 c = 3 )

    Para declarar constantes se usa la palabra const. Igualmente, declaramos el tipo o dejamos que Go lo intuya.

    La declaración de constantes se hace fuera de la función main.

    const helloworld string = "Hola %s %s, bienvenido a Go!!!" const testCont = "Text"

    Siendo así, tendríamos un programa como este

    package main import "fmt" const HELLO_USER string = "Hola %s %s, Bienvenido al fascinante mundo de Go\n" func main() { var name string lastname := "<Apellido>" var number = 100 var ( a = 1 b = 2 c = 3 ) fmt.Print ("Ingresa tu nombre:") fmt.Scanf("%s",&name) fmt.Print ("Ingresa tu apellido:") fmt.Scanf("%s",&lastname) fmt.Println("OK!") fmt.Printf(HELLO_USER, name, lastname) fmt.Println(number,a,b,c) }

    Y su salida sería algo como esto:

    Ingresa tu nombre:Emanuel Ingresa tu apellido:Castelan OK! Hola Emanuel Castelan, Bienvenido al fascinante mundo de Go 100 1 2 3
    Andrés Felipe Martínez Salazar

    Andrés Felipe Martínez Salazar

    student•
    hace 7 años

    Según lo que entendí el := declara e inicializa la variable, mientras el = es la asignación de toda la vida

    Christian Armando Consuelo Mayén

    Christian Armando Consuelo Mayén

    student•
    hace 7 años

    La sintaxis para declarar variables me recuerda a Javascript aunque JS obviamente es un lenguaje de tipado dinámico y Go no. Creo que Go es una mezcla de ideas interesantes de muchos lenguajes de programación. Tiene potencial.

    Rafael Niquefa

    Rafael Niquefa

    student•
    hace 7 años
    package main import "fmt" const helloWorld = "Hola %s %s"; func main(){ var name string lastname := "niquefa" var ( a = 1 b = 2.0 c = "3" ) fmt.Println("Print name: ") fmt.Scanf("%s", &name) fmt.Printf("Hello %s %s wellcome to go\n",name,lastname) fmt.Println(a,b,c) fmt.Printf(helloWorld,name,lastname) }
    JUAN SEBASTIAN RODRIGUEZ JIMENEZ

    JUAN SEBASTIAN RODRIGUEZ JIMENEZ

    student•
    hace 6 años

    que buena clase, lo que queda es practicar y practicar

    Daniel Vidal

    Daniel Vidal

    student•
    hace 6 años
    package main import "fmt" const helloWorld string = "Hola %s %s, bienvenido al fascinante mundo de Go.\n" const testConst = "Test" func main() { var name string name = "Sin nombre" lastname := "<Modificar con mi apellido>" var number = 100 var ( a = 1 b = 2 c = 3 ) fmt.Print("Ingresa tu nombre: ") fmt.Scanf("%s", &name) fmt.Printf(helloWorld, name, lastname) fmt.Print("Hola mundo") fmt.Println(number, a, b, c) }
    Hugo Orlando Gonzalez

    Hugo Orlando Gonzalez

    student•
    hace 6 años

    Excelente curso! Por fin puedo entender Go y aprenderlo

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads