go web: 1 创建项目

时隔1年,又拣起了go。而且是我一直很想玩的go web。网上的资料大部分都不全,这里我会实现一个简单的商业项目,目前已经应用到公司的统计服务中。
废话不说,开go。

建立项目

首先,创建结构:

src--|
     handlers--|
               test--|
                     test.go
     |
     main.go

网上关于建立项目大部分都是使用默认的http.ListenAndServe。然而这是有局限的一种用法。因为默认的http封装,没有办法设置服务器的超时。正确的姿势应该是:

mux := http.NewServeMux()
server :=
    http.Server{
        Addr:         fmt.Sprintf(":%d", 8080),
        Handler:      mux,
        ReadTimeout:  3 * time.Second,
        WriteTimeout: 5 * time.Second,
    }

// 开始添加路由
mux.HandleFunc("/hi", test.SayHello)
server.ListenAndServe()

建议不要直接使用http.HandleFunc,因为操作的是默认的mux。这样不利于自定义。毕竟我们还是需要做点自己喜欢的事的。
test.go中,写一个很简单的handler。

package test

import "net/http"

func SayHello(w http.ResponseWriter, r *http.Request) {
    w.Write([]byte("hello"))
}

然后运行这个程序,就能在浏览器的localhost:8080/hi 中看到想看到的东西了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值