CursosEmpresasBlogLiveConfPrecios

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

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

Contenido del curso

Introducción

  • 1
    Introducción a Go

    Introducción a Go

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

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

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

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

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

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

    02:24 min

Primeros pasos

  • 5
    Organizando el entorno de trabajo

    Organizando el entorno de trabajo

    04:01 min
  • 6
    Hola mundo

    Hola mundo

    05:27 min
  • 7
    Recibir valores del usuario

    Recibir valores del usuario

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

    Declaración de variables y constantes

    08:15 min
  • 9
    Funciones

    Funciones

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

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

    Viendo ahora
  • 11
    Cadenas de texto básico

    Cadenas de texto básico

    06:27 min
  • 12
    Array y Slice

    Array y Slice

    07:45 min
  • 13
    Condicionales

    Condicionales

    05:43 min
  • 14
    For, break

    For, break

    06:20 min

Intermedio

  • 15
    Operaciones con cadenas

    Operaciones con cadenas

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

    Uso de la instrucción: Switch

    05:03 min
  • 17
    Manejo de Paquetes

    Manejo de Paquetes

    15:54 min
  • 18
    Map

    Map

    10:19 min
  • 19
    Structs

    Structs

    06:46 min
  • 20
    Methods

    Methods

    03:09 min
  • 21
    Interfaces

    Interfaces

    10:04 min
  • 22
    defer

    defer

    02:49 min
  • 23
    Errores

    Errores

    12:09 min

Avanzados

  • 24
    Punteros

    Punteros

    08:28 min
  • 25
    Goroutines

    Goroutines

    06:06 min
  • 26
    Canales

    Canales

    14:47 min
  • 27
    Ejemplos de Canales

    Ejemplos de Canales

    11:52 min
  • 28
    Bibliotecas de Go

    Bibliotecas de Go

    11:48 min
  • 29
    Consumiendo una API externa

    Consumiendo una API externa

    12:21 min
  • 30
    Errores comunes en Go

    Errores comunes en Go

    05:03 min
  • 31
    Cierre del curso

    Cierre del curso

    01:33 min

Contenido Bonus

  • 32
    Cambiar el string

    Cambiar el string

    00:23 min
  • 33
    Struct para calcular

    Struct para calcular

    00:21 min
  • 34
    Leer un archivo del disco

    Leer un archivo del disco

    00:26 min
Tomar examen

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

      Comentarios

      Rafael Pardo Rodriguez

      Rafael Pardo Rodriguez

      student•
      hace 8 años
      Ivonne Rodríguez Sánchez

      Ivonne Rodríguez Sánchez

      student•
      hace 6 años
      Iván Toro

      Iván Toro

      student•
      hace 8 años
        wesly hernandez

        wesly hernandez

        student•
        hace 8 años
      Favian H. Angarita

      Favian H. Angarita

      student•
      hace 7 años
      Hugo Orlando Gonzalez

      Hugo Orlando Gonzalez

      student•
      hace 6 años
      Raul Castro Palmett

      Raul Castro Palmett

      student•
      hace 8 años
      Edwin David Sánchez Balbín

      Edwin David Sánchez Balbín

      student•
      hace 8 años
      wesly hernandez

      wesly hernandez

      student•
      hace 8 años
      Jose L. Figueroa

      Jose L. Figueroa

      student•
      hace 8 años
      José Emanuel Castelán Cortés

      José Emanuel Castelán Cortés

      student•
      hace 7 años
      Luis Agustin Suaña Jala

      Luis Agustin Suaña Jala

      student•
      hace 7 años
      Jose Montoya

      Jose Montoya

      student•
      hace 7 años
        Jose Montoya

        Jose Montoya

        student•
        hace 7 años
      Usuario anónimo

      Usuario anónimo

      user•
      hace 7 años
        Manuel Gonzalez Ortega

        Manuel Gonzalez Ortega

        student•
        hace 7 años
      Christian Armando Consuelo Mayén

      Christian Armando Consuelo Mayén

      student•
      hace 7 años
      Fernán Manuel Pérez Nieto

      Fernán Manuel Pérez Nieto

      student•
      hace 7 años
        Diego Forero

        Diego Forero

        Team Platzi•
        hace 7 años
      Claudio Jesus Vázquez Villanueva

      Claudio Jesus Vázquez Villanueva

      student•
      hace 7 años
      Sebastian Doza

      Sebastian Doza

      student•
      hace 7 años
      Ernesto Ventas Fernandez

      Ernesto Ventas Fernandez

      student•
      hace 6 años
      Ernesto Ventas Fernandez

      Ernesto Ventas Fernandez

      student•
      hace 6 años
      José Bryan Estrada Bernal

      José Bryan Estrada Bernal

      student•
      hace 6 años

      Una manera para saber cuanta capacidad tienen cada tipo de valor númerico podemos correr este codigo.

      minInt8 := math.MinInt8 maxInt8 := math.MaxInt8 minInt16 := math.MinInt16 maxInt16 := math.MaxInt16 minInt32 := math.MinInt32 maxInt32 := math.MaxInt32 minInt64 := math.MinInt64 maxInt64 := math.MaxInt64 maxUnit8 := math.MaxUint8 maxUnit16 := math.MaxUint16 maxUnit32 := math.MaxUint32 maxFloat32 := math.MaxFloat32 maxFloat64 := math.MaxFloat64 fmt.Printf("Range of Int8 = %d to %d.\n", minInt8, maxInt8) fmt.Printf("Range of Int16 = %d to %d.\n", minInt16, maxInt16) fmt.Printf("Range of Int32 = %d to %d.\n", minInt32, maxInt32) fmt.Printf("Range of Int64 = %d to %d.\n", minInt64, maxInt64) fmt.Printf("MaxUint8 = %d.\n", maxUnit8) fmt.Printf("MaxUint16 = %d.\n", maxUnit16) fmt.Printf("MaxUint32 = %d.\n", maxUnit32) fmt.Printf("Max Float32 = %f.\n", maxFloat32) fmt.Println("Max Float64 =", maxFloat64)

      Deberian dejar de asumir que las personas que llegan a cursos de programación de este tipo, no saben de plano nada de programación, seria mas dinámico. se me hace super aburrido que en cada curso de un lenguaje nuevo me quieran explicar cosas como que es una función y para que sirve, seria mejor que enseñaran cosas específicas del lenguaje para perder menos tiempo

      Tipos en Go.

      Gracias por tu aporte

      floats.png

      Excelente el curso, go es tambien apasionante igual que Python

      Jugando con operaciones float64

      package main import ( "fmt" ) func main() { fmt.Println("********************************") fmt.Println("Calculadora V.1.1.0") fmt.Println("********************************") var n1, n2 float64 n1, n2 = 0, 0 fmt.Print("Digite el primer numero (N1): ") fmt.Scanf("%f", &n1) fmt.Print("Digite el segundo numero (N2): ") fmt.Scanf("%f", &n2) suma, resta := Operate(n1, n2) fmt.Println("> Resultados:") fmt.Printf("N1 + N2 = %f\n", suma) fmt.Printf("N1 - N2 = %f\n", resta) } // Operate realiza la suma y la resta de 2 valores dados func Operate(n1, n2 float64) (suma float64, resta float64) { suma = n1 + n2 resta = n1 - n2 return suma, resta }```

      Mi aporte:

      package main import "fmt" func main() { fmt.Println("Calculadora de Operaciones Basicas") suma, resta, mulp, div := operations(getNum(), getNum()) fmt.Println("El resultado de las operaciones son:") fmt.Printf("Suma: %f\n", suma) fmt.Printf("Resta: %f\n", resta) fmt.Printf("Multiplicación: %f\n", mulp) fmt.Printf("División: %f\n", div) } func getNum() float64 { var num float64 num = 1 fmt.Print("Ingresa un numero: ") fmt.Scanf("%f", &num) return num } func operations(num1 float64, num2 float64) (float64, float64, float64, float64) { return (num1 + num2), (num1 - num2), (num1 * num2), (float64(num1) / float64(num2)) }
      package main import "fmt" func main() { var ( num1 int32 num2 int32 suma int32 resta int32 multiplicar float64 division float64 ) fmt.Println("CALCULADORA") fmt.Print("Ingrese el primer numero: ") fmt.Scanf("%d", &num1) fmt.Print("Ingrese el segundo numero: ") fmt.Scanf("%d", &num2) fmt.Println("") suma, resta, multiplicar, division = calcular(num1, num2) fmt.Println("RESULTADO") fmt.Printf("Suma: %d\nResta: %d\n", suma, resta, multiplicar, division) fmt.Println("") } func calcular(a int32, b int32) (int32, int32, float64, float64) { return (a + b), (a - b), (float64(a) * float64(b)), (float64(a) / float64(b)) }

      Va mi ejercicio:

      func main() { //Get the valuies and calculate FLOAT calcSum, calcSubtraction := calculatorFLOAT() fmt.Println(" ****************** Calculadora FLOAT ****************** ") fmt.Printf("Los valores sumados son: %f \n", calcSum) fmt.Printf("Los valores restados son: %f \n", calcSubtraction) } func calculatorFLOAT() (float32, float32) { var sumValue float32 = 0 var substractionValue float32 = 0 fistNumber := getFloatNumber() secndNumber := getFloatNumber() sumValue = fistNumber + secndNumber substractionValue = fistNumber - secndNumber return sumValue, substractionValue } func getFloatNumber() float32 { var number float32 = 0 fmt.Print("Introduce un número: ") fmt.Scanf("%f", &number) return number }
      Captura de pantalla 2018-10-08 a la(s) 20.01.05.png

      He modificado mi código de esta manera

      package main import "fmt" func main() { valor1 := getValor("1") valor2 := getValor("2") fmt.Printf("La suma es %f\n", suma(valor1, valor2)) fmt.Printf("La resta es %f\n", resta(valor1, valor2)) } func getValor(label string) float64 { var valor float64 fmt.Printf("Ingresa valor %s:\n",label) fmt.Scanf("%f",&valor) return valor } func suma(a float64, b float64) float64 { return a + b } func resta(a float64, b float64) float64 { return a - b }

      La salida en efecto es más precisa.

      Ingresa valor 1: 9.87654321 Ingresa valor 2: 1.23456789 La suma es 11.111111 La resta es 8.641975
      package main import "fmt" func main() { operador, primerOperando, segundoOperando := titulo() fmt.Printf("%f %s %f", primerOperando, operador, segundoOperando) resultado := operacion(operador, primerOperando, segundoOperando) fmt.Printf(" = %f", resultado) fmt.Println() } func titulo() (string, float32, float32) { fmt.Println("----Bienvenido a la calculadora en GO") fmt.Println("Que operacion desea realizar [+, -, *, /]") var( operador string primerOperando float32 segundoOperando float32 ) fmt.Scanf("%s", &operador) fmt.Println("Ingrese el primer operando") fmt.Scanf("%f", &primerOperando) fmt.Println("Ingrese el segundo operando") fmt.Scanf("%f", &segundoOperando) return operador, primerOperando, segundoOperando } func operacion(operador string, primerOperando float32, segundoOperando float32) float32 { var resultado float32 switch operador { case "+": resultado = primerOperando + segundoOperando case "-": resultado = primerOperando - segundoOperando case "*": resultado = primerOperando * segundoOperando case "/": resultado = primerOperando / segundoOperando } return resultado }```

      Estoy intentando recibir dos valores asi, pero solo me pide el primero y continua el flujo del programa. Alguien podria ayudarme?

      calculadora.go - go_curso_cf - Visual Studio Code.jpg

      Este es el resultado que obtengo

      calculadora.go - go_curso_cf - Visual Studio Code_2.jpg

      calculadora numeros flotantes

      <code> package main import "fmt" func main() { var numA, numB float32 var oper string fmt.Println(" CALCULADORA ") fmt.Println(" ingresa el primer numero: ") fmt.Scanf("%f", &numA) fmt.Println(" ingresa el segundo numero: ") fmt.Scanf("%f", &numB) fmt.Println(" ingresa la operación: ") fmt.Print(" s = suma \n r = resta \n m = multiplicacion \n d = division \n") fmt.Scanf("%s", &oper) calcular(numA, numB, oper) } func calcular(a float32, b float32, op string) { switch op { case "s": fmt.Printf("%f + %f = %f \n", a, b, a+b) case "r": fmt.Printf("%f - %f = %f \n", a, b, a-b) case "m": fmt.Printf("%f * %f = %f \n", a, b, a*b) case "d": if a/b > 0 { fmt.Printf("%f / %f = %f \n", a, b, a/b) } else { fmt.Printf("%f / %f = %f \n", a, b, float32(a)/float32(b)) } } }

      Hola me pueden ayudar con algo, es que copie tu código pero no me tomaba el 2 valor le tuve que agregar otro Scanf para que lo tomara. sabes por que ?

      package main import "fmt" func main() { valor1 := getValor("1") valor2 := getValor("2") fmt.Printf("La suma es %f\n", suma(valor1, valor2)) fmt.Printf("La resta es %f\n", resta(valor1, valor2)) } func getValor(label string) float64 { var valor float64 fmt.Printf("Ingresa valor %s:\n",label) fmt.Scanf("%f",&valor) fmt.Scanf("%f",&valor) return valor } func suma(a float64, b float64) float64 { return a + b } func resta(a float64, b float64) float64 { return a - b }

      Si a alguien le interesa saber acerca de precisión de los puntos flotantes pueden ver este gran video: VIDEO

      Atom no me alerta los errores a nivel de código? Que plugin debo instalar para que me alerte? Y cómo lo debo hacer?. Gracias

      Debes instalar algún plugin para sintaxis de Go para este editor, puedes usar por ejemplo este https://atom.io/packages/language-go aunque hay otros plugins de go.

      package main import ( fmt "fmt" ) func main() { menu() } func suma(num1 float32 , num2 float32) float32 { return (num1+num2) } func resta(num1 float32 , num2 float32) float32 { return (num1-num2) } func multiplicacion(num1 float32 , num2 float32) float32 { return (num1*num2) } func division(num1 float32 , num2 float32) float32 { return (num1/num2) } func opciones() int{ var opcion int fmt.Println("Elige una opcion") fmt.Println("1.- Suma") fmt.Println("2.- Resta") fmt.Println("3.- Multiplicacion") fmt.Println("4.- Division") fmt.Println("0.- exit") fmt.Scanf("%d\n", &opcion) return opcion } func getNumeros() (float32,float32){ var num1, num2 float32 fmt.Print("Ingresa el primer numero") fmt.Scanf("%f\n", &num1) fmt.Print("Ingresa el segundo numero") fmt.Scanf("%f\n", &num2) return num1,num2 } func menu() { opcion := opciones() for ( opcion > 0){ fmt.Println() num1, num2 := getNumeros() if opcion ==1 { fmt.Println("La suma es: ", suma(num1,num2)) }else if opcion ==2 { fmt.Println("La resta es: ", resta(num1,num2)) }else if opcion ==3 { fmt.Println("La multiplicacion es: ", multiplicacion(num1,num2)) }else if opcion ==4 { fmt.Println("La division es: ", division(num1,num2)) } fmt.Println() opcion = opciones() } }

      Le adjunto mi solución:

      package main

      import "fmt"

      func main() {

      valor1 := 0 valor2 := 0 var operador int fmt.Printf("---Bievenido a tu Calculadora---\n") fmt.Printf("--------------------------------\n") fmt.Printf("\n Que Operación Deseas Realizar:\n") fmt.Printf("\n 1.Sumar <--\n 2.Restar <--\n 3.Multiplicar <--\n 4.Dividir <--\n") fmt.Printf("-------------------------------\n") fmt.Scanf("%d\n", &operador) if operador >= 5 { fmt.Printf("Operación Invalida") } else { fmt.Println("Hola Prueba") fmt.Println("Ingresar el Primer Valor:") fmt.Scanf("%d\n", &valor1) fmt.Println("Ingresar el Segundo Valor:") fmt.Scanf("%d\n", &valor2) switch operador { case 1: fmt.Printf("El resultado de la suma %d", sumar(valor1, valor2)) case 2: fmt.Printf("El Resultado de la resta %d", restar(valor1, valor2)) case 3: fmt.Printf("El Resultado de la Multplicacion %d", multplicar(valor1, valor2)) case 4: fmt.Printf("El Resultado de la Division %d", dividir(valor1, valor2)) } }

      }

      func sumar(valor1 int, valor2 int) int { return valor1 + valor2 }

      func restar(valor1 int, valor2 int) int { return valor1 - valor2 }

      func multplicar(valor1 int, valor2 int) int { return valor1 * valor2 }

      func dividir(valor1 int, valor2 int) int { return valor1 / valor2 }

      calculadora.go.png
      calculadora.go.run.png
      calculadoraf.go.png
      calculadoraf.go.run.png
      package main import c "fmt" import conv "strconv" func main (){ var resultado int c.Println("Calculadora Basica Hecha en GoLang en linux") c.Print("Ingresa el primer numero: ") num1,err1:=inputNumber() c.Print("ingresa el segundo numero: ") num2, err2:=inputNumber() if (err1==nil && err2==nil){ opv:=0 c.Print("Elige una operacion suma(1),resta(2),mul(3),div(4):") c.Scanf("%d",&opv) resultado=op(num1,num2,opv) c.Println("El resultodo es: ",resultado) } } func inputNumber()(int, error){ var number string c.Scanf("%s",&number) num,err:=conv.Atoi(number) return num, err } func op(a int,b int,op int)int{ switch op { case 1: return a+b break case 2: return a-b break case 4: return a*b break case 5: return a/b break } return 0 }