教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 golang实现的文件服务器

golang实现的文件服务器

发布时间:2022-01-22   编辑:jiaochengji.com
教程集为您提供golang实现的文件服务器等资源,欢迎您收藏本站,我们将为您提供最新的golang实现的文件服务器资源
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"/></svg><blockquote>

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

</blockquote> <h1>源码</h1> <pre><code>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) } } </code></pre> <h1>源码解释</h1> <ol><li><code>os.Args[0]</code>获取的是执行程序时的第一个参数,默认第一个参数是程序所在的目录</li><li><code>filepath.Abs(filepath.Dir(os.Args[0]))</code>是获取当前可执行程序所在的绝对路径</li><li><code>http.Handle("/", http.FileServer(http.Dir(p)))</code>是开启一个文件服务器,使用当前可执行文件所在的路径</li><li><code>http.ListenAndServe(":8088", nil)</code>是监听8088端口并开启文件服务器</li></ol><h1>编译</h1>

要将源码编译成不同平台的可执行文件,需要使用<code>gox</code>工具,使用下面的命令安装<code>gox</code>:

<pre><code>go get github.com/mitchellh/gox </code></pre>

执行成功之后,使用<code>gox</code>命令即可自动编译出各个平台的可执行文件,如果想为某个平台单独编译,可以使用如下方式:

<pre><code>gox -os "windows linux" -arch amd64 </code></pre>

<code>-os</code>参数指定了编译平台,<code>-arch</code>参数指定了处理器架构

<h1>
运行</h1>

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

到此这篇关于“golang实现的文件服务器”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
基于Golang设计一套微服务架构[转]
php服务器用什么系统
golang微服务框架对比_Golang 微服务教程(二)
用Golang撸了个文件监测、同步小工具
Go 语言实现 简单文件服务器支持RESTful API接口
【GoLang】GoLang 微服务、开源库等参考资料
windows系统进程全攻略
go语言http服务处理image/css/js等静态文件
golang微服务框架对比_golang微服务框架gozero系列4:gozero文件服务
支持多语言的微服务框架Tars-Go

上一篇:go编程基础 下一篇:mac goLang安装打不开
[关闭]
~ ~