Golang es un lenguaje de programación procedimental ideal para construir software simple, confiable y eficiente.
Creación de servidores web usando Golang:
Inicializar un proyecto
Cree una carpeta de proyecto con un archivo .go dentro, por ejemplo. servidor.ir.
Estructura de directorios:
El archivo server.go :
Go
package main import ( "fmt" "log" "net/http" ) func main() { // API routes http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello world from GfG") }) http.HandleFunc("/hi", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hi") }) port := ":5000" fmt.Println("Server is running on port" + port) // Start server on port specified above log.Fatal(http.ListenAndServe(port, nil)) }
Ejecute el servidor usando el siguiente comando (asegúrese de estar en el directorio del proyecto):
go run server.go
Nota: Debe detener el servidor con Ctrl + C y reiniciar con el mismo comando siempre que se cambie el archivo server.go.
Consola:
Abra el navegador web deseado y cualquiera de estas URL para verificar si el servidor se está ejecutando:
http://localhost:5000/ or http://localhost:5000/hi
Producción:
Sirviendo archivos estáticos:
Cree una carpeta estática con todos los archivos estáticos.
Ejemplo de estructura de directorio:
Ejemplos de archivos estáticos:
- El logotipo de GfG
- El archivo index.html
HTML
<html> <head> <title>Home</title> </head> <body> <h2>Home page</h2> </body> </html>
- El archivo about.html
HTML
<html> <head> <title>About</title> </head> <body> <h2>about page!</h2> </body> </html>
Ahora edite el archivo server.go:
Go
package main import ( "fmt" "log" "net/http" ) func main() { // API routes // Serve files from static folder http.Handle("/", http.FileServer(http.Dir("./static"))) // Serve api /hi http.HandleFunc("/hi", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hi") }) port := ":5000" fmt.Println("Server is running on port" + port) // Start server on port specified above log.Fatal(http.ListenAndServe(port, nil)) }
Verificando si se sirven archivos estáticos:
Publicación traducida automáticamente
Artículo escrito por omkarphansopkar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA