Golang 是一种过程编程语言,非常适合构建简单、可靠、高效的软件。
使用 Golang 创建网络服务器:
初始化项目
创建一个包含. 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))
}
使用以下命令运行服务器(确保您在项目目录中):
go run server.go
*注意:*每当 server.go 文件发生变化时,您必须使用 Ctrl + C 停止服务器,并通过相同的命令重新启动。
*控制台:*
打开所需的 web 浏览器和这些 URL 中的任何一个,以验证服务器是否正在运行:
[http://localhost:5000/](http://localhost:5000/) or [http://localhost:5000/hi](http://localhost:5000/hi)
*输出:*
服务静态文件:
用所有静态文件创建一个静态文件夹。 示例目录结构:
静态文件示例:
- index.html 文件
超文本标记语言
<html>
<head>
<title>Home</title>
</head>
<body>
<h2>Home page</h2>
</body>
</html>
- about.html 文件
超文本标记语言
<html>
<head>
<title>About</title>
</head>
<body>
<h2>about page!</h2>
</body>
</html>
现在编辑 服务器文件:****
去
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))
}
*验证是否提供静态文件:*