Construir un Proyecto Modular en Go

GolangBeginner
Practicar Ahora

Introducción

En este desafío, demostrarás tu comprensión de los módulos de Go (Go Modules) mediante la creación de un proyecto modular que ponga a prueba tus habilidades de gestión de paquetes para una pequeña biblioteca de utilidades. El reto consiste en crear un paquete de utilidad con una función que convierta una cadena de texto a mayúsculas, y un paquete principal que importe y utilice dicha función. También deberás inicializar los módulos de Go para ambos paquetes y asegurarte de que el paquete principal se ejecute correctamente y muestre la cadena convertida.

Este es un Desafío (Challenge), el cual difiere de un Laboratorio Guiado en que debes intentar completar la tarea de forma independiente, en lugar de seguir pasos de aprendizaje estructurados. Los desafíos suelen tener un nivel de dificultad mayor. Si encuentras problemas, puedes consultarlo con Labby o revisar la solución. Los datos históricos muestran que este es un desafío de nivel principiante con una tasa de aprobación del 95%. Ha recibido una tasa de valoraciones positivas del 98% por parte de los estudiantes.

Construir un Proyecto Modular en Go

En este desafío, demostrarás tu dominio de los módulos de Go creando un proyecto modular que sirva como ejemplo de gestión de paquetes. Para facilitar el proceso, hemos proporcionado un script de configuración que inicializa la estructura del proyecto y rellena el marco de código básico. Tu tarea consiste en completar las secciones marcadas como TODO en el código.

Tareas

  1. Dirígete a ~/project/utility/helper.go y completa la sección TODO:

    // TODO: Implement the ToUpperCase function using strings.ToUpper
  2. Dirígete a ~/project/main/main.go y completa las secciones TODO:

    // TODO: Call the utility.ToUpperCase function
    // TODO: Print the result using fmt.Println

Requisitos

  • Completa los archivos proporcionados ~/project/utility/helper.go y ~/project/main/main.go rellenando las secciones TODO.
  • El paquete de utilidad debe definir una función llamada ToUpperCase que convierta una cadena a mayúsculas.
  • El paquete principal debe llamar a la función ToUpperCase e imprimir el resultado obtenido.

Ejemplos

Tras completar las secciones TODO, la estructura de tu proyecto debería verse así:

~/project/
├── utility/
│   ├── go.mod
│   └── helper.go
└── main/
    ├── go.mod
    └── main.go

Al ejecutar el paquete principal, la salida debería ser:

cd ~/project/main
go get utility
go run main.go
HELLO, WORLD

Consejos

  • La función strings.ToUpper de la biblioteca estándar puede ayudarte a realizar la conversión a mayúsculas.
  • Utiliza go mod init para inicializar los módulos de Go (esto ya se ha realizado por ti en el entorno).
  • Utiliza go get utility para importar el paquete de utilidad local dentro del paquete principal.
✨ Revisar Solución y Practicar

Resumen

En conclusión, este desafío requiere que crees un proyecto modular en Go que demuestre tu comprensión de los módulos y la gestión de paquetes. Deberás desarrollar un paquete de utilidad con una función para convertir texto a mayúsculas y un paquete principal que lo integre. El reto también incluye la inicialización de los módulos de Go para ambos paquetes, asegurando que el programa principal se ejecute con éxito y muestre el resultado esperado.