一款简洁大方的 Go 语言 Web 开发框架,并辅助以众多实用精致功能组件,帮助开发人员更方便的构建应用。
package main import ( "fmt" "github.com/devfeel/dotweb" ) func main() { //init DotApp app := dotweb.New() //set log path app.SetLogPath("/home/logs/wwwroot/") //set route app.HttpServer.GET("/index", func(ctx dotweb.Context) error{ return ctx.WriteString("welcome to my first web!") }) //begin server fmt.Println("dotweb.StartServer begin") err := app.StartServer(80) fmt.Println("dotweb.StartServer error => ", err) }
更多介绍请访问项目 github 地址。
dotweb是16年正式托管到github的一个开源项目,go语言的web框架目前也有很多,出名的有bee和echo。它们都是很优秀的框架,但是我们喜欢更轻、更小的东西,经历一些之后我们更青睐微服务这个设计理念。 dotweb是一个国人写的开源项目,据我所知它已经在多家公司的生产项目中使用,到目前为止它和早些年的web框架比显得很年轻,目前它还在以一种很快速的迭代速度完善。我们计划会在20
上一章我们讲了如何启动一个dotweb程序,本篇文章将介绍如何注册路由。 router是dotweb用来管理路由的结构体,它提供了一些关于路由操作函数。 app := dotweb.New() router := app.HttpServer.Router() 在上一篇文章中我们讲了dotweb.New()的用处,HttpServer负责处理请求,管理路由、session、中间件等等功能。稍后我会
2017年10月才接触到GO隐修群,并认识的潜伏大哥。在聊天过程中认识的dotweb这个构架,之前没有用过beego,echo,gin等框架,纯属GO盲。 由于我本人不是从事相关的开发工作,基础还很差,所以一直都没有去了解这个框架,而是去学习GO的基础知道,目标无非是通过这一两年的闲余时间学习,能找到一份月薪过万的工作,改善一下家庭生活,因为才去努力看书、看视频,看代码,有幸被称为dotweb老铁
go web项目目录规划 因为 gorose orm 和 dotweb 框架 都是基于独立的组件, 所以我们可以对项目的目录做出自由的规划. 在这里, 我们便规划一个遵循一般的mvc结构的项目目录. 为了项目的易维护性和高可用性, 我们尽量采取成熟的架构, 分离业务模块, 这里就借鉴 php 界最火爆的框架拉 laravel 的设计思想, 做出简单的涉设计架构 目录大致如下: 一. 路由: /ro
这是我的第二篇博文,写得不好,请多多指正。 写之前,还是希望大家一起学GO和用dotweb来开发自己的网站和应用。 dotweb的github地址:https://github.com/devfeel/dotweb,如果觉得好用,记得加星点赞哦。 官方网址:www.dotweb.top 今天,花了很多时间来配置服务器,成功同时跑起PHP和DOTWEB,非常兴奋,于是便有了这篇文章,下面让我来写
gorose orm+dotweb框架快速构建go web网站实战
构建入口main主文件 简洁之道 为了尽可能的凝练, 我们在入口中, 只需要加载核心组件即可 package main import ( // 引入项目的路由 "github.com/gohouse/kuaixinwen/router" // 引入驱动 . "github.com/gohouse/kuaixinwen/bootstrap" // fmt包
路由规划 路由是所有请求的入口, 在这里, 我们配置所有的请求, 为每一个请求去上对应的名字, 并根据名字去请求不同的控制器, 从而获取最终的数据 在这里, 我们做出了简单的代码示例如下: package router import ( // 引入控制器 "github.com/gohouse/kuaixinwen/controller" // 引入dotweb
网站功能结构规划和基础服务安装 为了快速的构建一个go web网站, 在这里, 我们采用 飞哥(fizzday) 的 gorose orm 组件和 devfeel 的 dotweb 框架来做go web网站实战. 首先, 我们需要做出一些基础的规划, 万丈高楼平地起, 我们先来给他打下地基, 做一下简单的模块和基本的网站要素规划 一. 网站名字 快新闻 顾名思义, 就是要做到尽量简短, 一句话新闻
控制器和模型 这里我们以去新闻列表为例, 做一个完整的控制器处理业务, 数据库模型获取数据 在控制器中创建 GetNewsById 获取一条新闻的方法 func GetNewsById(ctx dotweb.Context) error { res := model.GetNewsById(ctx) ctx.WriteJson(utils.SuccessReturn(res))
网站上线运行和总结 测试运行 上一节, 我们完成了所有的服务端代码, 现在我们先试运行一下 启动服务 go run main.go 会打印出如下信息: start...,port:8888, visit: http://localhost:8888 说明, 我们的服务运行起来了 浏览器输入访问 http://localhost:8888 出现了我们路由中设定的 "快新闻首页!", 完美运行起来 测
概述 ThinkCMF已经默认开启了多语言的支持,后台以语言包形式实现多语言,前台以语言包和多模板的形式实现多语言. 语言包 ThinkCMF开启的语言有三个,分别是zh-cn,en-us,zh-tw,此项配置在application/Common/Conf/config.php配置文件下,可以通过更改LANG_LIST的值增加语言. 语言包分为框架核心语言包(在simplewind/Core/L
范式 声明式 函数式 Common Lisp Clojure Haskell Erlang Scala LISP Logo F# 逻辑式 Prolog 命令式 非结构化 COBOL 结构化 面向对象 Visual Basic Objective-C Smalltalk Python Ruby Eiffel Java C++ C# 过程式 Delphi/Object Pascal Fortran B
几个月前,我决定开发一个可以真正使用的编程语言。语言的目标是这样的: 可以和C一样编译成 native 机器码,并能用于游戏开发。 语言和java/C# 类似,并且尽量减少业务代码开发的复杂度。 兼容全平台、开源。 国产、全中文支持。 有完整的 IDE、文档、工具支持。 有一个社区支持。 这是一个很伟大的事情,如果你有兴趣和时间,欢迎加入我们的开源团队。 不会做没关系,这是一个学习机会。 联系方式
主要内容:使用DartPad在线执行脚本,设置本地环境,IDE支持,dart2js工具本章讨论在Windows平台上为Dart设置执行环境。 使用DartPad在线执行脚本 可以使用 https://dartpad.dartlang.org/ 上的在线编辑器在线运行测试脚本。Dart编辑器执行脚本并显示HTML和控制台输出。在线编辑器附带一组预设代码示例。 Dartpad编辑器的截图如下 - Dartpad还可以以更严格的方式进行编码。通过检查编辑器右下角的强模式选项来实现。强模式
LiteIDE LiteIDE是一款开源、跨平台的轻量级Go语言集成开发环境(IDE)。 支持的操作系统 Windows x86 (32-bit or 64-bit) Linux x86 (32-bit or 64-bit) 下载地址 :http://sourceforge.net/projects/liteide/files/ 源码地址 :https://github.com/visualfc/
9.3* Perl 语言接口开发 本节将专门讲一讲 if_perl 接口的开发指导与实践经验,虽然只讲 perl ,但其基本 思路对于其他语言接口也可互为参照。 9.3.1 VimL 调用 perl 接口的基本流程 典型地,假如要使用(perl)语言接口实现某个较为复杂的功能或插件,其调用流程大概 可归纳如下: 定义快捷键映射,nnoremap ,这不一定必要,可能直接使用命令也方便; 快捷键调用
一.关于易语言DLL 从易语言3.6版开始,已经能够支持对DLL动态链接库的开发, 编译出的DLL是标准的DLL,和其他编程语言生成的标准DLL的调用方法相同。易语言编写出的DLL,在非独立编译exe时只需要DLL文件随应用程序一起发行,而独立编译exe时无需将DLL文件随应用程序一起发行。 二.新建易语言DLL程序 新建一个易语言程序,然后选择 图标,易语言就会自动创建 出编写DLL动态链接
为什么开发 Tea 语言 现在语言很多,我来一一解释下为什么我不喜欢这些语言而要自己开发: Python/Ruby/NodeJs: 它们很简单,写起来确实比较“爽”,写写小工具很适合。但我不喜欢它们,理由有二: a. 我需要做功能完整的产品,而不是写小工具。因此脚本语言是不可以的:它无法保护源码。 b. 我希望语言能有强大的 IDE,不要让我背一大堆 API,我只能记住首字母。 Java Java