Golang 如何构建简单的Web服务器
Golang是一种过程式编程语言,适用于构建简单、可靠和高效的软件。
使用Golang创建Web服务器:
初始化一个项目
创建一个带有.go文件的项目文件夹,例如 server.go。
目录结构:
server.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))
}
使用以下命令运行服务器(确保您在项目目录中):
go run server.go
注意: 每次更改server.go文件时,您都必须使用Ctrl + C停止服务器并通过同一命令重新启动。
控制台:
打开所需的Web浏览器和任何这些URL以验证服务器是否正在运行:
http://localhost:5000/或http://localhost:5000/hi
输出:
提供静态文件:
创建一个具有所有静态文件的静态文件夹。例如:
示例静态文件:
- GfG徽标
- index.html 文件
<html>
<head>
<title>Home</title>
</head>
<body>
<h2>Home page</h2>
</body>
</html>```
* _about.html_ 文件
```go
<html>
<head>
<title>About</title>
</head>
<body>
<h2>about page!</h2>
</body>
</html>```
现在,请编辑 _ **server.go文件**_ :
```go
package main
import (
"fmt"
"log"
"net/http"
)
func main() {
// API routes
// Serve来自静态文件夹的文件
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))
}
验证是否提供了静态文件: