go web编程由浅入深4——实现一个简单静态文件服务器

本文介绍如何使用Go语言快速搭建一个静态文件服务器。通过几行代码即可实现,包括获取当前工作目录、设置路由处理函数和监听服务。代码示例清晰,适合初学者实践。

实现一个简单的静态服务器,代码很简单,只需要在前面的代码里增加以下几行代码即可:

pwd ,err := os.Getwd();
if err != nil {
   panic(err)
}
mux.Handle("/static",http.StripPrefix("/static", http.FileServer(http.Dir(pwd))))

这样就简单实现了一个静态文件服务器。完整代码如下:

package main

import (
	"io"
	"net/http"
	"os"
)

func main () {
	mux := http.NewServeMux()
	mux.HandleFunc("/hi", sayHi)

	pwd ,err := os.Getwd();
	if err != nil {
		panic(err)
	}
	mux.Handle("/static",http.StripPrefix("/static", http.FileServer(http.Dir(pwd))))

	myServer := &http.Server{
		Addr: "127.0.0.1:8080",
		Handler: &MyHandler{mux},
	}
	//myServer.
	myServer.ListenAndServe()
}

type MyHandler struct {
	Mux *http.ServeMux
}

func (mh *MyHandler)ServeHTTP(w http.ResponseWriter, r *http.Request) {
	mh.Mux.ServeHTTP(w, r)
}

func sayHi(w http.ResponseWriter, r *http.Request) {
	io.WriteString(w, "hi, this is cutom server")
}

(全文完)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值