学习Go语言的一些感受,不一定准确。

假如发生战争,JAVA一般都是充当航母战斗群的角色。

一旦出动,就是护卫舰、巡洋舰、航母舰载机、预警机、电子战飞机、潜艇等等

浩浩荡荡,杀将过去。

(JVM,数十个JAR包,Tomcat中间件,SSH框架,各种配置文件...天生就是重量级的,专为大规模作战)

而GO语言更像F35战斗轰炸机

单枪匹马,悄无声息,投下炸弹然后走人。

专属轰炸机,空战也会一点点.

实在搞不定,就叫它大哥F22。

(GO是编译型语言,不需要依赖,不需要虚拟机,可以调用C代码并且它足够简单,却非常全面)

计划Go语言学习的知识点

1.搭建Http服务

2.连接数据库

3.本地IO

4.多线程

5.网络

6.调用本地命令

7.调用C语言代码

首先,搭建一个静态的服务器

我写程序喜欢使用HTML通过AJAX发送JSON请求到后端处理。

HttpServer.go

复制代码 代码如下:

package main

import (

"flag"

"io/ioutil"

"log"

"net/http"

"os"

"strings"

)

var realPath *string

func staticResource(w http.ResponseWriter, r *http.Request) {

path := r.URL.Path

request_type := path[strings.LastIndex(path, "."):]

switch request_type {

case ".css":

w.Header().Set("content-type", "text/css")

case ".js":

w.Header().Set("content-type", "text/javascript")

default:

}

fin, err := os.Open(*realPath + path)

defer fin.Close()

if err != nil {

log.Fatal("static resource:", err)

}

fd, _ := ioutil.ReadAll(fin)

w.Write(fd)

}

func main() {

realPath = flag.String("path", "", "static resource path")

flag.Parse()

http.HandleFunc("/", staticResource)

err := http.ListenAndServe(":8080", nil)

if err != nil {

log.Fatal("ListenAndServe:", err)

}

}

网上看到一个更BT的方法:

复制代码 代码如下:

package main

import (

"net/http"

)

func main() {

http.Handle("/", http.FileServer(http.Dir("/tmp/static/")))

http.ListenAndServe(":8080", nil)

}

将EasyUI前端框架解压到 /tmp/static 目录下:

在GOPATH下执行

复制代码 代码如下:

go run HttpServer.go --path=/tmp/static

查看网页,一切正常。

这样Go语言以不到50行代码,编译之后不到7M的可执行文件,就实现了一个简易的静态服务器。

go语言用html桌面,Go语言实现简单的一个静态WEB服务器相关推荐

  1. Fenix – 基于 Node.js 的桌面静态 Web 服务器

    Fenix 是一个提供给开发人员使用的简单的桌面静态 Web 服务器,基于 Node.js 开发.您可以同时在上面运行任意数量的项目,特别适合前端开发人员使用. 您可以通过免费的 Node.js 控制 ...

  2. 从入门到入土:基于C语言采用SOCKET套接字实现TCP公开扫描程序Web服务器扫描程序|代码展示

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  3. 利用JAVA语言实现支持视频点播的WEB服务器

    一.项目简介: JAVA语言是一种可移植的,简单的,健壮的嵌入式语言.并且对网络,数据库有很好的支持,基于JAVA语言的这种特性可以十分容易地建立一个小型INTERNET服务器. 本项目中,作者用JA ...

  4. Java语言实现支持视频点播的WEB服务器

    java语言实现支持视频点播的WEB服务器 一.项目简介: JAVA语言是一种可移植的,简单的,健壮的嵌入式语言.并且对网络,数据库有很好的支持,基于JAVA语言的这种特性可以十分轻易地建立一个小型I ...

  5. go语言服务器运行,Go语言实现Web服务器

    使用Go语言的库非常容易实现一个Web服务器,用来响应像fetch那样的客户端请求.本节将展示一个迷你服务器,返回访问服务器的URL的路径部分.例如,如果请求的URL是http://localhost ...

  6. PHP是脚本语言 因此不能通过浏览器运行,SQL_基于ASP技术的Web数据库应用开发

    基于ASP技术的Web数据库应用开发 第一节 Web数据库解决方案 一.Web数据库访问过程 Web数据库访问过程如下图: 可以将上述过程分为四步: 1.在浏览器地址栏输入http://mynetse ...

  7. C语言开发windows桌面程序,开发 windows 桌面软件,现在主流用什么技术?

    桌面软件还是得win32,工具只有两个选择vc和delphi,不建议用.net,存在部署问题. 还有大佬说 桌面还是老老实实C#吧,看需求选择WPF或者Winforms 或者干脆激进一点,直接上win ...

  8. Windows7桌面变更语言简易切换不重装

    Windows7桌面变更语言简易切换不重装  就能够手機監聽器发觉如今的Windows7体系从图标.菜单.协助到控制面板等等都不再是熟习的简体中文了而是酿成了所选择的繁体中文或英文, 当完成注销操纵再 ...

  9. c语言应用程序的开发步骤,C语言如何开发桌面GUI应用程序?

    这里介绍一种非常简单的方法,使用GTK,一个基于C语言开发的跨平台图形工具包,可以直接使用C语言快速完成桌面GUI程序的开发,下面我简单介绍一下实现过程,主要内容如下: 1.首先,下载安装GTK,这里 ...

最新文章

  1. 五年循环期限已到,我们又要步入“AI寒冬”了吗?
  2. 详细分析如何在java代码中使用继承和组合
  3. 204787 ,194787 |0001 1131 0001 4226 7035 ![2480 ]
  4. CNG 关于 Key 相关的操作
  5. UI素材模板|新拟态新趋势图标ICON
  6. python123监考系统可以识别_在线考试系统的视频监考怎么防作弊?
  7. 儒家学派有哪些代表人物?
  8. 精选西门子PLC工程实例源码【共300套】
  9. 率土之滨服务器维护2月19日,率土之滨连发两封致歉信后,资深月卡党的我决定重新入坑...
  10. 【开赛啦!邀你来战 】2022年“桂林银行杯”数据建模大赛暨全国大学生数学建模竞赛广西赛区热身赛
  11. mercury路由器重置后服务器无响应,路由器复位不了,重置后进不去如何解决
  12. 原来漏斗分析应该这样用!
  13. pyqt tablewidget 设置一行的背景_PyQt+moviepy音视频剪辑实战2:一个剪裁视频文件精华内容留存工具的实现...
  14. 2014人人校招 笔试总结
  15. 根据当前日期求取当年是否为闰年,当天是周几。
  16. Android手机免root安装Linux+图形化
  17. 计算机一级电子表格地区排名,玩转Excel电子表格排序方法大汇总
  18. [电脑网络]Verycd 维护中
  19. linux 进程间通信及makefile 无名管道/有名管道/共享内存/信号/消息队列
  20. vue 一键复制粘贴

热门文章

  1. (61)分析 KiFindReadyThread 函数 —— 线程优先级
  2. 【WEB安全】In0ri:基于深度学习的网站内容污染检测系统
  3. Thinkphp 逻辑与,逻辑或的复合查询
  4. Javascript基本概念之数据类型
  5. HDU2087剪花布条
  6. to_string()函数----将int类型转换为string型
  7. 4.1.8 文件保护
  8. Synchronize异常释放锁
  9. Synchronize锁继承
  10. mybatis的union查询