最近在学习golang,使用golang实现了一个最简单的文件服务器,程序只有简单的十多行代码,可以编译成windows, linux, mac多平台可执行文件。

源码
package main

import (
	"fmt"
	"net/http"
	"os"
	"path/filepath"
)

func main() {
	p, _ := filepath.Abs(filepath.Dir(os.Args[0]))
	http.Handle("/", http.FileServer(http.Dir(p)))
	err := http.ListenAndServe(":8088", nil)
	if err != nil {
		fmt.Println(err)
	}
}

源码解释
os.Args[0]filepath.Abs(filepath.Dir(os.Args[0]))http.Handle("/", http.FileServer(http.Dir(p)))http.ListenAndServe(":8088", nil)
编译
goxgox
go get github.com/mitchellh/gox
gox
gox -os "windows linux" -arch amd64
-os-arch
运行

直接打开编译出来的可执行程序,即可运行,在浏览器中访问http://ip:8088即可看到可执行文件所在的目录下的所有文件。