位置:首页 » 技术 » 开发 Go 项目最简单的方式:一个基于 Docker 的 Go 工具

开发 Go 项目最简单的方式:一个基于 Docker 的 Go 工具

日期:2016-10-22 阅读:159num
Advertisement

开发 Go 项目最简单的方式:一个基于 Docker 的 Go 工具

当我尝试开发一个在IronWorkerr上运行的非常简单的程序的时候,我发现目前为止没有一个工具可以让人在几分钟之内运行一段Go的示例代码。但在其他语言里面这是可以很容易做到的,因为他们不像Go一样需要设置GOPATH环境变量,遵守一个特定的代码目录结构,而且他们通常还有更简单的依赖管理工具。

有什么更好的方式吗?

我最近想了很多,也写了很过关于Docker的文章,并尝试在所有能使用Docker的情境下都坚持使用 Docker(是的,我是Docker的超级粉丝)。大部分原因是因为在 Iron.io ,我们从事Docker的相关工作。我们运行了很多Docker容器,真的很多。在这期间,我已经意识到Docker的强大与疯狂之处。相信我,这不只是炒作。

我们向用户展示如何使用Docker容器构建和测试他们的Go语言程序已经有一段时间了,但始终有一个痛点,让我们如鲠在喉。那便是用户需要将代码放到特定的目录,配置 GOPATH环境变量,使用一个第三方工具如godep来加载和代理依赖(注意通常这些依赖和你的代码一样,也需要被版本控制管理),有序的加载相关目录等等。这些当然可以完成,但是总是让人觉得不够爽。

现在,这个流程变得更好些了。

基于Docker的Go工具

我创建了一个基于Docker的go工具——“ treeder/go ”,他让Go语言开发变得超级简单。你唯 一需要安装的只有Docker。下面是一些它的一些功能和好处:

  • 你不需要安装 Go
  • 你不需要安装这些相关的工具
  • 你不需要配置 GOPATH 环境变量
  • 你不需要将你的代码放到特定的目录(如: /src/github.com/user/hello)或者 Go 的安装目录, 你可以任意放置你的代码。
  • 不需要重写代码里面依赖导入目录就可以加载相应依赖
  • 代码交叉编译
  • 代码静态编译
  • 将代码打包成 Docker 镜像(一个命令即可搞定,然后你将得到一个包含你的代码的镜像)
  • 构建远端 git 仓库的代码

演示

基础部分

让我们先来写个简单的例子,首先复制粘贴下面的代码到一个叫app.go的文件,放到任意目录。

package main

import (

"fmt"

"log"

"net/http"

"github.com/gorilla/mux"

)

func main() {

r := mux.NewRouter()

r.HandleFunc( "/" , Hello)

http.Handle( "/" , r)

fmt.Println( "Starting up on 8080" )

log.Fatal(http.ListenAndServe( ":8080" , nil))

}

func Hello(w http.ResponseWriter, req *http.Request) {

fmt.Fprintln(w, "Hello world!" )

}

注意到这段代码有第三方依赖了吗?让我们来代理(vendor)依赖:

docker run --rm -v $PWD:/app -w /app treeder/go vendor

上述命令会把抵赖都放/vendor目录下

然后我们对代码进行构建:

docker run --rm -v $PWD:/app -w /app treeder/go build

接着,我们来运行代码:

docker run --rm -v $PWD:/app -w /app -p 8080:8080 iron/base ./app

打开浏览器,输入 http://localhost:8080. 哈哈,我们成功的通过 iron/base 这个基础镜像运行了我们的代码。它是一个包含了运行GO程序所需的所有东西的很小的镜像。

更酷炫的东西

构建一个包含你的代码的可以运行的Docker镜像怎么样?

docker run --rm -v $PWD:/app -w /app -v /var/run/docker.sock:/var/run/docker.sock treeder/go image username/myapp:latest

现在通过你的新镜像来运行代码吧:

docker run --rm -v $PWD:/app -w /app -p 8080:8080 iron/base ./app

再次打开 http://localhost:8080 ,哈哈,现在流程是不是更好了。这个镜像非常小。你可以通过输入 docker images 来查看这个镜像到底有好大,大概在12M左右吧。

或者你也可以下载和构建一个远程的代码仓库:

docker run --rm -v $PWD:/app -w /app treeder/go remote https://github.com/treeder/hello-app.go.git

最后你将得到一个包含这个远 程代码 仓库的代码的镜像。

结论

将Docker运用于开发再次胜利了,如果你之前开发过Go项目,你应该会感谢这个工具带来的简单和简洁。它仅仅是个实验阶段的工具,没有包含太多的其他工具链。不过,就我知道的而言,这应该是最简单的Go上手方式了。通过这个工具,仅仅告诉其他人一个代码仓库链接,他们就可以克隆,构建,运行代码而不需要任何初始化流程仅仅只需要Docker。

完整的文档和项目源代码请浏览

https://github.com/treeder/go

更新:我做了一个更大更好的工具

https://github.com/treeder/devo

ps

请不要吝啬你的任何反馈,创建一个 Githubissue 或者评 论吧。

Wise2C ∣ 一个有用的公众号

开发 Go 项目最简单的方式:一个基于 Docker 的 Go 工具

开发 Go 项目最简单的方式:一个基于 Docker 的 Go 工具

长按,识别二维码,加关注

点击“ 原文阅读 ”可查看翻译原文

开发 Go 项目最简单的方式:一个基于 Docker 的 Go 工具的相关内容

相关文章
  • 开发 Go 项目最简单的方式:一个基于 Docker 的 Go 工具 开发 Go 项目最简单的方式:一个基于 Docker 的 Go 工具

    " 当我尝试开发一个在IronWorkerr上运行的非常简单的程序的时候,我发现目前为止没有一个工具可以让人在几分钟之内运行一段Go的示例代码.但在其他语言里面这是可以很容易做到的,因为他们不像Go一样需要设置GOPATH环境变量,遵守一个特定的代码目录结构,而且他们通常还有更简单的依赖管理工具. 有什么更好的方式吗? 我最近想了很多,也写了很过关于Docker的文章,并尝试在所有能使用Docker的情境下都坚持使用 Docker(是的,我是Docker的超级粉丝).大部分原因是因为在 Iron

  • 没有项目经验怎么开始做一个基于web的系统

    没有项目经验如何开始做一个基于web的系统? 毕业设计要做一个基于Web的OA用户管理系统,传说功能很简单: 1. 机构管理: 2. 用户及用户权限管理. 我学渣没有项目经验,不知道如何下手.究竟应该怎么开始做这个系统?真的摸不着,求大神指点迷津. ------解决方案-------------------- 如果你离交毕业设计还有几个月的时间,如果框架也学的不怎么好,又想能学到东西,建议找个OA项目,再上面修改 ------解决方案-------------------- 找个开源的OA系统

  • 用 Kafka 和 HBase 构建一个基于 Docker 的数据采集器

    本文主要介绍在Docker上,用Kafka和HBase构建一个数据采集器,并用这个采集器用来记录Caltrain Rider这款应用的GPS数据.本文只是一个简单的实践,读者可以将此方法进行拓展,以更好的学习Docker.http://dockerone.com/article/241 --cut--

  • 一个基于 XMPP 的通讯工具,会有人需要用吗

    比如公司团队内部通信,自己搭一个openfire即可用 --cut-- Registering在2014-12-25 14:50:1回答到: android端的,毕业设计做的,像维护下去.有人用动力大一点 yylyyl在2014-12-25 15:04:0回答到: XMPP 的话为什么不用其他客户端呢- 服务端竟然也是 现成的- ahu在2014-12-25 15:26:4回答到: 我原先也是痴迷xmpp,后来发现用不着.因为xmpp相对来说传输的冗余数据多了点,可以考虑其他方案 skyxin8

  • 参照 Zeplin 与 POP 做一个基于 Sketch 的原型工具,如何?

    Zeplin 可以把设计的每个页面的元素清晰的展示出来,设计师不用每个元素都标注了,程序员也能方便的查看. POP 可以把手绘的原型图,拍照后加上跳转,制作成带交互动效的原型. 结合这两者,在 Zeplin 基础上加上交互,把页面跳转加上,可以直接在手机上看效果. --cut-- ldehai在2016-05-09 01:32:47回答到: Zeplin https://zeplin.io POP https://popapp.in/ adi在2016-05-09 01:32:47回答到: 好想

  • 基于 Docker 的移动应用开发云服务,仅需五分钟创建一个动态的移动 APP 基于 Docker 的移动应用开发云服务,仅需五分钟创建一个动态的移动 APP

    Hi All, 时速云是一个MVC 一体的移动应用开发云服务,能将移动应用的开发缩短至几个小时.平台基于Docker container, 采用Node.js编写.我们能非常快速得创建支持CRUD(创建,获取,更新,删除)操作的移动应用和Web应用. 产品地址:https://www.tenxcloud.com 下面来介绍一下我们的产品具体能做什么吧,欢迎拍砖^_^ 时速云能最大限度地帮助企业.开发者和梦想家快速实现移动应用的开发,我们首创的MVC一体的移动应用开发云服务能将移动应用的开发缩短至

  • 使用MAVEN和Eclipse开发Web项目依赖库的有关问题 使用MAVEN和Eclipse开发Web项目依赖库的有关问题

    使用MAVEN和Eclipse开发Web项目依赖库的问题 使用Maven和Eclipse开发web项目时,会出现一个问题,就是发布调试的时候,lib不会自动拷贝到WEB-INF/lib之下,导致classnotfound的错误. 解决方法: 1."Maven " –> "Enable dependency Management" 2.Web Deployment Assembly中添加maven dependencies 步骤如下图: 工程 -> 右键

  • 怎么使用 Docker 部署一个基于 Play Framework 的 Scala Web 应用 怎么使用 Docker 部署一个基于 Play Framework 的 Scala Web 应用

    如何使用 Docker 部署一个基于 Play Framework 的 Scala Web 应用? 本文作者 Jacek Laskowski 拥有近20年的应用程序开发经验,现 CodiLime 的软件开发团队 Leader,曾从 IBM 取得多种资格认证.在这篇博文中,Jacek 分享了 Warsaw Scala Enthusiasts Meetup 上 Rafal Krzewski 介绍的一个 Docker sbt 插件.本文系 OneAPM 工程师编译整理: 虽然在 DeepSense.i

  • 最近团队开发个项目,需要知道android联网方式,需高人解答~ 谢啦解决思路

    最近团队开发个项目,需要知道android联网方式,急需高人解答~ 谢啦 团队开发了一个手机客户端,和服务器连接的时候,可能会出现网络情况不好,或者是换网络连接的情况,所以需要得到当前的联网方式,比如用GPRS联网,或者使用WIFI联网 在网上搜了搜也没找到相关的答案,希望高人解答 ------解决方案-------------------- ConnectivityManager conn = (ConnectivityManager)context.getSystemService(Cont

  • MyEclipse + Tomcat 开发web项目内存储器配置方式

    MyEclipse + Tomcat 开发web项目内存配置方式 1.修改eclipse.ini 在Myeclipse安装目录下G:\MyEclipse8.5\Genuitec\MyEclipse 8.5有一个myeclipse.ini配置文件,设置如下: -vmargs -Xmx512m -XX:MaxPermSize=256m -XX:ReservedCodeCacheSize=64m 2.设置Default VM Arguments 在myEclipse中,打开Windows-> Pref

  • eclipse集成jetty开发web项目(不采用maven方式) eclipse集成jetty开发web项目(不采用maven方式)

    以前开发过程部署项目都是采用tomcat,偶然发现jetty,所以试了下,挺方便的,直切主题. 1.下载jetty,楼主使用的jetty8,地址 http://download.eclipse.org/jetty/ 2.下载完成后,解压缩,cd到jetty路径下,运行命令: java -jar start.jar 3.默认端口号8080,访问http://localhost:8080,出现jetty welcome界面 到此,说明jetty已经安装成功! 关于eclipse集成jetty开发we

  • 一个Android开发小项目,求评估工作量和外包价格解决方案

    一个Android开发小项目,求评估工作量和外包价格 一个Android平台的客户端软件 功能描述: 1.能够实现点对点即时通讯,基本功能类似于QQ, 区别是,对象间有从属关系, 只能跟直接下属和直接上司通信, 不能越级,通信最好不通过服务器: 2.能够跟远程服务器交互,能通过服务器, 获取和控制跟服务器连接的智能设备: 3.智能设备的种类和数量保持扩展性. 请高手们评估一下: 1.对于正常的开发人员,要多少人月? 2.如果外包,需要多少钱? 非常感谢! ------解决方案----------

  • 采取GDI图形编程机制,开发一个基于单文档的简单图形绘制应用程序,要求是利用定时器,绘制一个由浅红色到深红色的渐变圆形

    采用GDI图形编程机制,开发一个基于单文档的简单图形绘制应用程序,要求是利用定时器,绘制一个由浅红色到深红色的渐变圆形. 采用GDI图形编程机制,开发一个基于单文档的简单图形绘制应用程序,要求是利用定时器,绘制一个由浅红色到深红色的渐变圆形.我做了很久,不能再Ondraw里面绘制,是要由定时器控制的,也就是定时器打开就开始画圆,定时器关闭画圆停止,请教如何实现 ------解决方案-------------------- 如果不想一刷新就消失,一般还是OnDraw,你可以用开关控制是否话 ---

  • 麻烦哪位高手能给一个基于SMPP协议开发简单范例或源码吗

    麻烦谁能给一个基于SMPP协议开发简单范例或源码吗? 如题![email protected] 分享到: 更多 ------解决方案-------------------- http://blog.csdn.net/wwmusic/article/details/8858706 http://blog.csdn.net/tounaobun/article/details/8163842 http://bbs.csdn.net/topics/390501684

  • 新人,对于安卓的开发只停留在筹建安卓开发环境,求问能做一个简单的APP吗

    新人,对于安卓的开发只停留在搭建安卓开发环境,求问能做一个简单的APP吗 RT,老师不知任务,但是水平有限,目前对于语言的认知基本上为0,但是想做一个简单的APP,尽可能少用到语言. 能做一个什么样的软件呢 --cut-- 多看别人的代码,我也是刚刚起步的,问题不是对语言不熟,而是对这个环境不熟. --cut-- 完全可以,你只需要创建一个安卓工程,然后往窗体里拖几个控件,然后运行,一个最基本的APP就成了,我也是刚学,一起努力吧! --cut-- 找一些开源的软件 学习 --cut-- 引用:

  • 小弟我的VB6开发的项目目录中有一个扩展名为.uzy的文件,这类文件是做什么用的 小弟我的VB6开发的项目目录中有一个扩展名为.uzy的文件,这类文件是做什么用的

    我的VB6开发的项目目录中有一个扩展名为.uzy的文件,这类文件是做什么用的? 我的VB6开发的项目目录中有一个扩展名为.uzy的文件,这类文件是做什么用的? 分享到: ------解决方案-------------------- 不知道你是什么样的工程会有这样的文件,如果不是程序需要的相关文件,可以删除 ------解决方案-------------------- 没听说VB项目中有这种文件. ------解决方案-------------------- File Extension UZY

  • 想做一个实时对战的小游戏,几个好友可以一起玩,然后计算分数的,有没有什么简单的方式?

    H5 可行吗?或者什么其他的方法, Android ? iOS ? --cut-- YuJianrong在2016-06-26 03:32:27回答到: 没有简单的方式. 不管用什么方法. wilddog在2016-06-26 03:32:27回答到: 用野狗,下载 JS SDK , H5 实现,野狗可以帮你实现实时的数据传输. 顺便分享一个 demo 实时飞机大战,可以直接拿来用 https://github.com/WilddogTeam/demo-js-starwars amaranthf

  • Android开发把项目打包成apk Android开发把项目打包成apk

    Android开发把项目打包成apk . 做完一个Android项目之后,如何才能把项目发布到Internet上供别人使用呢?我们需要将自己的程序打包成Android安装包文件--APK(Android Package),其后缀名为".apk".将APK文件直接上传到Android模拟器或Android手机中执行即可进行安装.Android系统要求具有其开发者签名的私人密钥的应用程序才能够被安装.生成数字签名以及打包项目成APK都可以采用命令行的方式,但是通过Eclipse中的向导我们

  • 利用maven创办webx3项目——实现简单的留言板(二) 利用maven创办webx3项目——实现简单的留言板(二)

    利用maven创建webx3项目--实现简单的留言板(二) 创建webx3项目 根据webx3的官方网站,www.openwebx.org,找到"创建一个webx应用",按照上面说的流程,就可以创建一个webx的项目. 具体流程这里就不说了,官网上已经写得很清楚了.下面主要解释一下可能存在疑惑的地方. 创建项目的命令为: ----------------------------------------------------------------- mvn archetype:gen

  • 施用MyEclipse开发Web项目并进行发布,运行,测试和调试 施用MyEclipse开发Web项目并进行发布,运行,测试和调试

    使用MyEclipse开发Web项目并进行发布,运行,测试和调试 本文将介绍如何使用 MyEclipse 来开发Web 项目(包括HTML,JSP,Servlet,Filter和后台Java 类),并进行发布,运行,测试和调试.本章将通过开发一个使用JDBC 进行登录验证的简单例子来给大家展示相关的操作过程. 那么哪些应用算是 Web 应用呢?简单说通过网络浏览器,例如IE,Firefox 等等上网看到的绝大多数网页,都属于Web 应用的范围,所以它的应用是非常的广的.要想做好一个Web 应用,

最新文章
  • 做不到东半球第二好,那么先从东大街最好开始吧,小白牙刷天猫官方店上线,更多优惠 做不到东半球第二好,那么先从东大街最好开始吧,小白牙刷天猫官方店上线,更多优惠

    急着上市的阿里巴巴忘了小厂,天猫店的审核和开张整整比我们预计的晚了2个月 但是开一家天猫店(亮星旗舰店 http://liangxinggrhl.tmall.com) 最好的时间是2个月前,次好的时间那就是现在了. 长话短说, 了解我们的旁友已经知道我们的产品线了 I1旗舰--A1大众--B1儿童 现在小白家族又添了新成员,电池入门款A39,售价39元 ----- 咳咳,如果一切在这里终结,那么开业大庆就太没有意思了 即日起, 购买I1旗舰款(官方定价:166元,标配4刷头) 双11特价146元

  • 新手求指点,根据 rails guide 搭建完以后还想继续完善这个 blog 有什么好的教程?

    如题,前端的东西我也都会一点,Bootstrap什么的完全没问题.就是感觉这个blog的功能还是有点简陋,想在此基础上继续写点代码做一个完全用rails开发的个人博客出来. --cut-- teddy1004在2014-03-07 08:12:0回答到: Michael Hartl 的 Ruby on Rails Tutorial 不错,Ruby China 社区有人把他翻译成中文,翻译的很棒.再就是比较经典的 Agile 那本了,不过感觉发展到现在读起来不如前者了. BruinWestwood

  • 熊猫tv怎么不能搜索主播 熊猫tv怎么不能搜索主播

    首先让我们来看看熊猫直播tv安卓版首页 大家下载熊猫tv安卓版app进入之后,发现并没有搜索选项哦 熊猫tv电脑端首页 可以看到没有一个直播的分类,没用搜索选项,不过相信不久之后,大家查找游戏直播,会更方便. 熊猫直播tv暂时没有搜索功能选项哦,相信随着公测的到来,功能会越来越完善的哦.

  • 婚礼两周倒计时你该做什么 婚礼两周倒计时你该做什么

    对每个女人来说,披上新嫁衣的那一刻,就是一场全新旅程的开始.距离自己的梦中婚礼还有两周,焦头烂额的你可别忽略了自己的调理和保养.现在帮你倒数计时,让你在婚礼当天做最完美的新娘! 本站阅读配图 婚礼前两周 婚礼前两周是修剪发型和染头发的最佳时间.资深发型师建议你染发时头发要尽量保持颜色的均匀统一,这样可以让头发看起来更加的光亮顺滑,从而拥有一头完美的秀发. 婚礼前的10天 婚礼前的10天牙科专家建议你在婚礼前十天开始美白牙齿,这段时间可以调整和修复牙齿相关的敏感问题.同时避免饮用咖啡.红酒.可乐,

  • 解析php常用image图像函数集

    gd_info函数:获取当前安装的GD库的信息 getimagesize函数:获取图像的大小 image_type_to_extension函数:获取图像类型的文件后缀 image_type_to_mime_type函数:判断一个IMAGETYPE常量的MIME类型 image2wbmp函数:以WBMP格式将图像输出到浏览器或文件 imagealphablending函数:设定图像的混色模式 imageantialias函数:是否使用antialias(抗锯齿)功能 imagearc函数:画椭圆

  • 乐视发布会邀请函曝光 传苹果大咖或将出席 乐视发布会邀请函曝光 传苹果大咖或将出席

    海外媒体硅新社曝光了乐视在美发布会的邀请函.邀请函主题为:breathtaking,中文意思为惊人.或窒息.邀请函显示时间为4月13日,这与此前<华尔街日报>等美国三大主流媒体刊登的整版概念邀请函呼应.分析人士指出,乐视此次发布会的核心可能是乐视手机,但也可能同时在美发布超级电视.超级汽车或全球化战略. 苹果前高管乔纳森或出席硅谷发布会 海外媒体硅新社透露,苹果公司大咖或将出席美国硅谷的发布会,有传言称曾为苹果资深副总裁.设计师的乔纳森或已加盟乐视,有望在当天亮相.硅新社在微博中说,今天收到了

  • 二年级人数奥数题及答案

    二年级奥数题及答案:二年级人数 二年级一班和二班共有85人,一班比二班多3人.问一班.二班各有多少人? 答案:一班人数:(85+3)÷2=44 (人) ,二班人数:44-3=41 (人)

  • 九月新版情侣空间小窝皮肤模块_即使我沉默也有你懂我 九月新版情侣空间小窝皮肤模块_即使我沉默也有你懂我

    说呢?我也一直在拷问自己. 我不能,虽然我对你犯了罪,但如同我自认识你到我生命终点你在我心灵. 脑海和生活中所有的记忆都是最宝贵的一样. [1] [2] [3] 下一页 如果时间允许,我当然想和你在一起,看着你愉快地对我说任何事,我都心飞翔!爱你! 上一页 [1] [2] [3] 下一页 拉着你的手,细心地抚摸,想传达我的心意. 想你快乐.过得好,我会努力帮助你.一辈子!知道吗?懂我吗? 上一页 [1] [2] [3]

  • 熊出没之熊大快跑高分攻略 熊出没之熊大快跑高分攻略

    熊出没之熊大快跑高分攻略: 心得1:路上的道具别错过 路上我们经常能看到有随机道具出现,遇到了可千万别错过呦,有了这些道具便能助我们一臂之力. 心得2:切勿贪心 不要因为路上的金币而分了心,导致自己死亡是十分不值得的.俗话说得好,留得青山在不怕没柴烧. 心得3:注意远方 在游戏中千万不要只顾脚下而忘了查看远方路况,查看远方路况是十分重要的,这样能让你有个提前的准备.

  • Linux中怎么查看文件和文件夹大小

    linux不像windows那么简单可直接查看文件大小,需要使用一些命令,下面我来总结一下Linux中怎么查看文件和文件夹大小的方法. 比如查看home目录的大小: du -s /home 也可以: du -sh /home /usr/local/apache/bin/htcacheclean -v -p/cacheroot -l500M Statistics: size limit 500.0M total size was 91.8M, total size now 91.8M total

热门推荐
  • 微信用久了打开速度变得好慢怎么办 微信用久了打开速度变得好慢怎么办 很多人反映过这个问题:彻底退出微信后,再打开微信,会在那个地球的界面,等待好久.如图 2 下面就开始操作吧. 首先进入微信.点击右下角的"我". 3 然后点击"设置". 点击"通用". 然后拉到最下面,点击:清理微信存储空间. 如果你没有什么内容要保留的话,你点击右上角的"全选"吧. 在这里,你可以看到微信缓存了多大空间. 点击右下角的"删除". 这里是最后确认.当然是啦. 开始删除了,这个时间根据你的缓存
  • 小米手机如何实现手机拨号话费充值? 小米手机如何实现手机拨号话费充值? MIUI系统之所以能拥有大量的粉丝,并不是由于小米手机的高销量而带来的裙带关系,而是在这个基于Android深度定制的第三方ROM中,有许多能够为用户日常实用提供便利的功能,例如网络助手.系统清理.私密短信.来电号码智能识别与T9联系人拨号等等.关于T9联系人拨号,笔者不得不提一句,这项功能除了可以帮助用户在拨号过程当中快速地搜索联系人之外,还有一项非常神奇的功能,那就是在拨号功能中可以直接为手机充值. MIUI系统拨号界面 如上图所示,当我们在拨号键盘中键入"10010"后,MIUI
  • SQL中的NULL和.NET中的DBNULL以及面向编程语言中的NULL分析 SQL中的NULL和.NET中的DBNULL以及面向编程语言中的NULL分析 本文章介绍了关于SQL中的NULL和.NET中的DBNULL以及面向编程语言中的NULL分析,有需要了解同学可看看. 一:SQL Server中的NULL和.NET中的DBNULL以及面向编程语言中的NULL的区别 1:SQL Server中的NULL SQL Server中的空值用"NULL"表示,等同于"没有输入的值",在T-SQL命令中,判断一个值是不是空值,要使用"IS NULL",而不是使用"=NULL",在SQL
  • 代码分享及意见征询:任意角度多色渐变填充图形界面 代码分享及意见征询:任意角度多色渐变填充图形界面 代码分享及意见征求:任意角度多色渐变填充图形界面 半月前,回了个关于双色渐变填充矩形的帖(见http://topic.csdn.net/u/20091030/12/74cc8a21-1b63-4051-818c-d4c871b292f6.html),事后,闲来无事,于是,按那个回帖的思路,写了个任意角度双色渐变填充矩形的函数,感觉不错,比GDI+渐变填充速度快不少,又将其扩展为任意角度多色(ARGB)渐变填充矩形.文字,后来灵机一动,不如把这个由简入繁.由浅入深写的代码放到BLOG中,即可实现代