在Golang中,控制器(Controller)层是Web应用程序的核心部分之一,它负责处理来自客户端的请求并返回响应。控制器通常作为MVC(Model-View-Controller)模式的一部分。
下面是一个简单的控制器示例:
package controllers
import (
"fmt"
"net/http"
)
func HelloWorld(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello world!")
}
在上面的示例中,我们定义了一个名为HelloWorld的函数,该函数接受http.ResponseWriter和*http.Request两个参数。http.ResponseWriter 用于发送HTTP响应,而 *http.Request 包含传入请求的信息。
我们使用 fmt.Fprintf 将字符串”Hello world!“写入响应主体,并将其发送回客户端。
然后,我们需要将这个控制器与路由关联起来,以便能够通过URL访问该控制器。
package main
import (
"net/http"
"github.com/gorilla/mux"
"your-app/controllers"
)
func main() {
r := mux.NewRouter()
// 绑定路由和控制器
r.HandleFunc("/hello", controllers.HelloWorld)
// 启动服务器
http.ListenAndServe(":8080", r)
}
在上面的示例中,我们使用第三方库 gorilla/mux 创建了一个新的路由器,并将/hello路径与我们之前创建的HelloWorld函数进行了绑定。
最后,我们使用http.ListenAndServe()函数启动服务器并监听端口8080。当我们在浏览器中访问http://localhost:8080/hello时,应该会看到 “Hello world!” 字符串显示在页面上。




