在开始编写应用之前,我们先从最基本的程序开始。就像你造房子之前不知道什么是地基一样,编写程序也不知道如何开始。因此,在本节中,我们要学习用最基本的语法让Go程序运行起来。程序这就像一个传统,在学习大部分语言之前,你先学会如何编写一个可以输出hello world的程序。准备好了吗?Let's Go!package mainimport "fmt"func main() { fmt.
Go是一门类似C的编译型语言,但是它的编译速度非常快。这门语言的关键字总共也就二十五个,比英文字母还少一个,这对于我们的学习来说就简单了很多。
这一章中我们主要介绍了如何安装Go,Go可以通过三种方式安装:源码安装、标准包安装、第三方工具安装,安装之后我们需要配置我们的开发环境,然后介绍了如何配置本地的$GOPATH,通过设置$GOPATH之后读者就可以创建项目,接着介绍了如何来进行项目编译、应用安装等问题,这些需要用到很多Go命令,所以接着就介绍了一些Go的常用命令工具,包括编译、安装、格式化、测试等命令,最…
本节我将介绍几个开发工具,它们都具有自动化提示,自动化fmt功能。因为它们都是跨平台的,所以安装步骤之类的都是通用的。LiteIDELiteIDE是一款专门为Go语言开发的跨平台轻量级集成开发环境(IDE),由visualfc编写。图1.
Go 命令Go语言自带有一套完整的命令操作工具,你可以通过在命令行中执行go来查看它们:图1.3 Go命令显示详细的信息这些命令对于我们平时编写的代码非常有用,接下来就让我们了解一些常用的命令。go build这个命令主要用于编译代码。在包的编译过程中,若有必要,会同时编译与之相关联的包。如果是普通包,就像我们在1.
前面我们在安装Go的时候看到需要设置GOPATH变量,Go从1.1版本开始必须设置这个变量,而且不能和Go的安装目录一样,这个目录用来存放Go源码,Go的可运行文件,以及相应的编译之后的包文件。
Go的三种安装方式Go有多种安装方式,你可以选择自己喜欢的。这里我们介绍三种最常见的安装方式:Go源码安装:这是一种标准的软件安装方式。对于经常使用Unix类系统的用户,尤其对于开发者来说,从源码安装可以自己定制。Go标准包安装:Go提供了方便的安装包,支持Windows、Linux、Mac等系统。
欢迎来到Go的世界,让我们开始探索吧!Go是一种新的语言,一种并发的、带垃圾回收的、快速编译的语言。它具有以下特点:它可以在一台计算机上用几秒钟的时间编译一个大型的Go程序。Go为软件构造提供了一种模型,它使依赖分析更加容易,且避免了大部分C风格include文件与库的开头。Go是静态类型的语言,它的类型系统没有层级。
本文介绍如何用go语言进行web应用的开发,将go语言的特性与web开发实战组合到一起,帮读者成功地构建跨平台的应用程序,节省go语言开发web的宝贵时间。
本章将之前零散介绍的知识点串了起来,完整地演示了一个使用 NodeJS 开发程序的例子,至此我们的课程就全部结束了。以下是对新诞生的 NodeJSer 的一些建议。要熟悉官方 API 文档。并不是说要熟悉到能记住每个 API 的名称和用法,而是要熟悉 NodeJS 提供了哪些功能,一旦需要时知道查询API文档的哪块地方。要先设计再实现。
第一次迭代快速迭代是一种不错的开发方式,因此我们在第一次迭代时先实现服务器的基本功能。设计简单分析了需求之后,我们大致会得到以下的设计方案。 +---------+ +-----------+ +----------+request -->| parse |-->| combine |-->| output |-->
学习讲究的是学以致用和融会贯通。至此我们已经分别介绍了 NodeJS 的很多知识点,本章作为最后一章,将完整地介绍一个使用 NodeJS 开发 Web 服务器的示例。我们要开发的是一个简单的静态文件合并服务器,该服务器需要支持类似以下格式的 JS 或 CSS 文件合并请求。在以上 URL 中,??是一个分隔符,之前是需要合并的多个文件的 URL 的公共部分,之后是使用,分隔的差异部分。
本章介绍了 JS 异步编程相关的知识,总结起来有以下几点:不掌握异步编程就不算学会 NodeJS。异步编程依托于回调来实现,而使用回调不一定就是异步编程。异步编程下的函数间数据传递、数组遍历和异常处理与同步编程有很大差别。使用 domain 模块简化异步代码的异常处理,并小心陷阱。
官方文档: http://nodejs.org/api/domain.htmlNodeJS 提供了 domain 模块,可以简化异步代码的异常处理。在介绍该模块之前,我们需要首先理解“域”的概念。简单的讲,一个域就是一个 JS 运行环境,在一个运行环境中,如果一个异常没有被捕获,将作为一个全局异常被抛出。NodeJS 通过 process 对象提供了捕获全局异常的方法,示例代码如下process.
异步编程有很多特有的代码设计模式,为了实现同样的功能,使用同步方式和异步方式编写的代码会有很大差异。以下分别介绍一些常见的模式。函数返回值使用一个函数的输出作为另一个函数的输入是很常见的需求,在同步方式下一般按以下方式编写代码:var output = fn1(fn2('input'));// Do something.
NodeJS 最大的卖点——事件机制和异步 IO,对开发者并不是透明的。开发者需要按异步方式编写代码才用得上这个卖点,而这一点也遭到了一些 NodeJS 反对者的抨击。但不管怎样,异步编程确实是 NodeJS 最大的特点,没有掌握异步编程就不能说是真正学会了 NodeJS。本章将介绍与异步编程相关的各种知识。在代码中,异步编程的直接体现就是回调。
本章介绍了使用 NodeJS 管理进程时需要的 API 以及主要的应用场景,总结起来有以下几点:使用 process 对象管理自身。使用 child_process 模块创建和管理子进程。
和进程管理相关的 API 单独介绍起来比较枯燥,因此这里从一些典型的应用场景出发,分别介绍一些重要 API 的使用方法。如何获取命令行参数在 NodeJS 中可以通过 process.argv 获取命令行参数。但是比较意外的是,node 执行程序路径和主模块文件路径固定占据了 argv[0]和 argv[1]两个位置,而第一个命令行参数从 argv[2]开始。
我们先大致看看 NodeJS 提供了哪些和进程管理有关的 API。这里并不逐一介绍每个 API 的使用方法,官方文档已经做得很好了。Process官方文档: http://nodejs.org/api/process.html任何一个进程都有启动进程时使用的命令行参数,有标准输入标准输出,有运行权限,有运行环境和运行状态。在 NodeJS 中,可以通过 process 对象感知和控制 NodeJS 自身进程的方方面面。
NodeJS 可以感知和控制自身进程的运行环境和状态,也可以创建子进程并与其协同工作,这使得 NodeJS 可以把多个程序组合在一起共同完成某项工作,并在其中充当胶水和调度器的作用。本章除了介绍与之相关的 NodeJS 内置模块外,还会重点介绍典型的使用场景。我们已经知道了 NodeJS 自带的 fs 模块比较基础,把一个目录里的所有文件和子目录都拷贝到另一个目录里需要写不少代码。
关注时代Java