Red de conocimiento informático - Material del sitio web - Cómo crear un servicio web usando go

Cómo crear un servicio web usando go

/http"

"Cadena"

"Registro"

)

func decirholaNombre(w http.ResponseWriter, r *http . Solicitud) {

r.ParseForm() //Analizar parámetros, los parámetros no se analizan de forma predeterminada

fmt.Println(r.Form) //Estos se envían al lado del servidor Imprimir información de salida

fmt.Println("path")

r.URL.Scheme)

fmt.Println(Println("path", r . URL.Path)

fmt.Println("scheme", r.URL.Scheme)

fmt.Println(r.Form["url_long"])

para k, v := rango r.Form {

fmt.Println("key:", k)

fmt.Println("val:", ", cadenas .strings.Join(v, ""))

}

fmt.Fprintf(w, "Hello astaxie!") //El contenido escrito en w se enviará al Terminal de cliente

}

func main() {

http.HandleFunc( "/", sayhelloName) //Establece la ruta a la que se accederá

err := http.ListenAndServe(":/")ListenAndServe(":9090", nil) //Configurar el puerto de escucha

if err = nil {

log. Fatal("ListenAndServe: ", err)

}

}

}

El código anterior se utiliza cuando compila y ejecuta web.exe Finalmente, la solicitud de enlace http se monitorea en el puerto 9090.

Ingresa en el navegador

Puedes ver el resultado de la página del navegador ¡Hola astaxie!

Puedes intentar cambiar la dirección:

¿Ves lo que genera el navegador y lo que genera el servidor?

El resultado del lado del servidor es el siguiente:

Imagen 3.8 Información impresa por el servidor después de que el usuario accede a la Web

Vemos el código anterior. Es muy simple escribir un servidor web. Solo necesita llamar a dos funciones en el paquete http.

Si ya eres programador PHP, entonces te preguntarás: ¿no lo necesitan nuestros servidores nginx y apache? Go no los necesita, porque escucha directamente el puerto tcp y hace lo que hace nginx, y luego sayhelloName es en realidad la lógica de la función que escribimos, junto con la función php (controlador) en la capa de control.

Si alguna vez has sido programador de Python, entonces debes haber oído hablar de Tornado. ¿Es este código muy similar a él? Sí, así es, Go es un lenguaje dinámico con características de escritura similares a Python. Las aplicaciones web son muy convenientes.

Si alguna vez ha sido programador de Ruby, encontrará que el inicio de /script/server es algo similar a ROR.