摘要: Zlib 稳定性: 3 - 文档 可以通过以下方式访问这个模块: var zlib = require('zlib'); 这个模块提供了对 Gzip/Gunzip, Deflate/Inflate, 和 DeflateRaw/InflateRaw 类的绑定。每个类都有相同的参数和可读/写的流。 例子 阅读全文
posted @ 2018-02-22 14:16 NAVYSUMMER 阅读(374) 评论(0) 推荐(0)
摘要: 可以通过以下方法访问该模块: JavaScript 可以立即编译立即执行,也可以编译,保存,之后再运行。 vm.runInThisContext(code[, options]) vm.runInThisContext() 对 参数code 编译,运行并返回结果。 运行的代码没有权限访问本地作用域( 阅读全文
posted @ 2018-02-22 14:14 NAVYSUMMER 阅读(862) 评论(0) 推荐(0)
摘要: 这些函数都在'util' 模块里。使用 require('util') 来访问他们。 util 模块原先设计的初衷是用来支持 node 的内部 API 的。这里的很多的函数对你的程序来说都非常有用。如果你觉得这些函数不能满足你的要求,那你可以写自己的工具函数。我们不希望 'util' 模块里添加对于 阅读全文
posted @ 2018-02-22 14:13 NAVYSUMMER 阅读(192) 评论(0) 推荐(0)
摘要: 这个模块包含分析和解析 URL 的工具。调用 require('url') 来访问模块。 解析 URL 对象有以下内容,依赖于他们是否在 URL 字符串里存在。任何不在 URL 字符串里的部分,都不会出现在解析对象里。例子如下: 'http://user:pass@host.com:8080/p/a 阅读全文
posted @ 2018-02-22 14:12 NAVYSUMMER 阅读(171) 评论(0) 推荐(0)
摘要: 调用 require('dgram') ,可以使用数据报文 sockets(Datagram sockets)。 重要提醒: dgram.Socket#bind() 的行为在 v0.10 做了改动 ,它总是异步的。如果你的代码像下面的一样: 现在需要改为: dgram.createSocket(ty 阅读全文
posted @ 2018-02-22 14:11 NAVYSUMMER 阅读(318) 评论(0) 推荐(0)
摘要: process 是全局对象,能够在任意位置访问,是 EventEmitter 的实例。 退出状态码 当没有新的异步的操作等待处理时,Node 正常情况下退出时会返回状态码 0 。下面的状态码表示其他状态: 1 未捕获的致命异常-Uncaught Fatal Exception - 有未捕获异常,并且 阅读全文
posted @ 2018-02-22 14:10 NAVYSUMMER 阅读(186) 评论(0) 推荐(0)
摘要: tty 模块包含 tty.ReadStream 和 tty.WriteStream 类。多数情况下,你不必直接使用这个模块。 当 node 检测到自己正运行于 TTY 上下文时,process.stdin 将会是一个 tty.ReadStream 实例,并且 process.stdout 将会是 t 阅读全文
posted @ 2018-02-22 14:10 NAVYSUMMER 阅读(144) 评论(0) 推荐(0)
摘要: 可以使用 require('tls') 来访问这个模块。 tls 模块 使用 OpenSSL 来提供传输层(Transport Layer)安全性和(或)安全套接层(Secure Socket Layer):加密过的流通讯。 TLS/SSL 是一种公钥/私钥基础架构。每个客户端和服务端都需要一个私钥 阅读全文
posted @ 2018-02-22 14:09 NAVYSUMMER 阅读(291) 评论(0) 推荐(0)
摘要: 提供一些基本的操作系统相关函数。 使用 require('os') 访问这个模块。 os.tmpdir() 返回操作系统的默认临时文件夹 os.endianness() 返回 CPU 的字节序,可能的是 "BE" 或 "LE"。 os.hostname() 返回操作系统的主机名。 os.type() 阅读全文
posted @ 2018-02-22 14:07 NAVYSUMMER 阅读(132) 评论(0) 推荐(0)
摘要: 所有的定时器函数都是全局的。不需要通过 require() 就可以访问。 setTimeout(callback, delay[, arg][, ...]) delay 毫秒之后执行 callback。返回 timeoutObject 对象,可能会用来 clearTimeout()。你也可以给回调函 阅读全文
posted @ 2018-02-22 14:07 NAVYSUMMER 阅读(196) 评论(0) 推荐(0)
摘要: 通过 require('string_decoder') ,可以使用这个模块。字符串解码器(StringDecoder)将缓存(buffer)解码为字符串。这是 buffer.toString() 的简单接口,提供了 utf8 支持。 Class: StringDecoder 接受一个参数 enco 阅读全文
posted @ 2018-02-22 14:06 NAVYSUMMER 阅读(218) 评论(0) 推荐(0)
摘要: V8 提供了强大的调试工具,可以通过 TCP protocol 从外部访问。Node 内置这个调试工具客户端。要使用这个调试器,以debug参数启动 Node,出现提示: Node 的调试器不支持所有的命令,但是简单的步进和检查还是可以的。在代码里嵌入 debugger;,可以设置断点。 例如, m 阅读全文
posted @ 2018-02-22 14:05 NAVYSUMMER 阅读(210) 评论(0) 推荐(0)
摘要: net 模块提供了异步网络封装,它包含了创建服务器/客户端的方法(调用 streams)。可以通过调用 require('net') 包含这个模块。 net.createServer([options][, connectionListener]) 创建一个 TCP 服务器。参数 connectio 阅读全文
posted @ 2018-02-22 14:04 NAVYSUMMER 阅读(173) 评论(0) 推荐(0)
摘要: 流是一个抽象接口,在 Node 里被不同的对象实现。例如request to an HTTPserver 是流,stdout 是流。流是可读,可写,或者可读写。所有的流是 EventEmitter 的实例。 你可以通过 require('stream') 加载 Stream 基类。其中包括了 Rea 阅读全文
posted @ 2018-02-22 14:03 NAVYSUMMER 阅读(234) 评论(0) 推荐(0)
摘要: 使用 require('crypto') 来访问这个模块。 加密模块提供了 HTTP 或 HTTPS 连接过程中封装安全凭证的方法。 它也提供了 OpenSSL 的哈希,hmac, 加密(cipher), 解密(decipher), 签名(sign) 和 验证(verify) 方法的封装。 cryp 阅读全文
posted @ 2018-02-22 14:01 NAVYSUMMER 阅读(302) 评论(0) 推荐(0)
摘要: Node 有简单的模块加载系统。在 Node 里,文件和模块是一一对应的。下面例子里,foo.js 加载同一个文件夹里的 circle.js 模块。 foo.js 内容: circle.js 内容: circle.js 模块输出了 area() 和 circumference() 函数。想要给根模块 阅读全文
posted @ 2018-02-22 14:00 NAVYSUMMER 阅读(129) 评论(0) 推荐(0)
摘要: {Object} 用于打印输出字符到 stdout 和 stderr。和多数浏览器提供的 console 对象函数一样,Node 也是输出到 stdout 和 stderr。 当输出目标是终端或文件的时候,console 函数是同步的(为了防止意外退出数据丢失),输出是管道的时候是异步的(防止阻塞时 阅读全文
posted @ 2018-02-22 13:59 NAVYSUMMER 阅读(193) 评论(0) 推荐(0)
摘要: HTTPS 是基于 TLS/SSL 的 HTTP 协议。在 Node 里作为单独的模块来实现。 类: https.Server 这是 tls.Server 的子类,并且和 http.Server 一样触发事件。更多信息参见 http.Server 。 server.setTimeout(msecs, 阅读全文
posted @ 2018-02-22 13:58 NAVYSUMMER 阅读(247) 评论(0) 推荐(0)
摘要: 单个 Node 实例运行在一个线程中。为了更好的利用多核系统的能力,可以启动 Node 集群来处理负载。 在集群模块里很容易就能创建一个共享所有服务器接口的进程。 运行 Node 后,将会在所有工作进程里共享 8000 端口。 这个特性是最近才引入的,大家可以试试并提供反馈。 还要注意,在 Wind 阅读全文
posted @ 2018-02-22 13:57 NAVYSUMMER 阅读(175) 评论(0) 推荐(0)
摘要: 类: smalloc 由简单内存分配器(处理扩展原始内存的分配)支持的缓存。Smalloc 有以下函数: smalloc.alloc(length[, receiver][, type]) length {Number} <= smalloc.kMaxLength receiver {Object} 阅读全文
posted @ 2018-02-22 13:57 NAVYSUMMER 阅读(128) 评论(0) 推荐(0)
摘要: 使用 HTTP 服务器或客户端功能必须调用 require('http')。 Node 里的 HTTP 接口支持协议里原本比较难用的特性。特别是很大的或块编码的消息。这些接口不会完全缓存整个请求或响应,这样用户可以在请求或响应中使用数据流。 HTTP消息头对象和下面的例子类似: Keys 都是小写, 阅读全文
posted @ 2018-02-22 13:56 NAVYSUMMER 阅读(180) 评论(0) 推荐(0)
摘要: Node 通过 child_process 模块提供了 popen(3) 数据流。 它能在非阻塞的方式中,通过 stdin, stdout, 和 stderr 传递数据。 (请注意,某些程序使用内部线性缓冲 I/O, 它并不妨碍 node.js,只是你发送给子进程的数据不会被立即消。) 使用 req 阅读全文
posted @ 2018-02-22 13:54 NAVYSUMMER 阅读(178) 评论(0) 推荐(0)
摘要: 全局对象 这些对象在所有模块里都可用。有些对象不是在全局作用域而是在模块作用域里,这些情况下面文档都会标注出来。 global {Object} 全局命名空间对象。 浏览器里,全局作用域就是顶级域。如果在全局域内定义变量 var something 将会是全局变量。 Node 里不同,顶级域并不是全 阅读全文
posted @ 2018-02-22 13:53 NAVYSUMMER 阅读(188) 评论(0) 推荐(0)
摘要: 逐行读取 稳定性: 2 - 不稳定 使用 require('readline'),可以使用这个模块。逐行读取(Readline)可以逐行读取流(比如process.stdin) 一旦你开启了这个模块,node 程序将不会终止,直到你关闭接口。以下的代码展示了如何优雅的退出程序: var readli 阅读全文
posted @ 2018-02-22 13:52 NAVYSUMMER 阅读(367) 评论(0) 推荐(0)
摘要: 插件 Addons 是动态链接的共享对象。他提供了 C/C++ 类库能力。这些API比较复杂,他包以下几个类库: V8 JavaScript, C++ 类库。用来和 JavaScript 交互,比如创建对象,调用函数等等。在 v8.h 头文件中 (目录地址deps/v8/include/v8.h), 阅读全文
posted @ 2018-02-22 13:51 NAVYSUMMER 阅读(335) 评论(0) 推荐(0)
摘要: Query String 稳定性: 3 - 稳定 这个模块提供了一些处理 query strings 的工具,包括以下方法: querystring.stringify(obj[, sep][, eq][, options]) 将一个对象序列化化为一个 query string 。 可以选择重写默认 阅读全文
posted @ 2018-02-22 13:50 NAVYSUMMER 阅读(140) 评论(0) 推荐(0)
摘要: Node.js 是一个开放源代码、跨平台的、用于服务器端和网络应用的运行环境。 JXcore 是一个支持多线程的 Node.js 发行版本,基本不需要对你现有的代码做任何改动就可以直接线程安全地以多线程运行。 但我们这篇文章主要是要教大家介绍 JXcore 的打包功能。 JXcore 安装 下载 J 阅读全文
posted @ 2018-02-22 13:49 NAVYSUMMER 阅读(236) 评论(0) 推荐(0)
摘要: 我们都知道 Node.js 是以单线程的模式运行的,但它使用的是事件驱动来处理并发,这样有助于我们在多核 cpu 的系统上创建多个子进程,从而提高性能。 每个子进程总是带有三个流对象:child.stdin, child.stdout 和child.stderr。他们可能会共享父进程的 stdio 阅读全文
posted @ 2018-02-22 13:48 NAVYSUMMER 阅读(121) 评论(0) 推荐(0)
摘要: 什么是 REST? REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。 表述性状态转移是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是RE 阅读全文
posted @ 2018-02-22 13:47 NAVYSUMMER 阅读(176) 评论(0) 推荐(0)
摘要: Express 简介 Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。 使用 Express 可以快速地搭建一个完整功能的网站。 Express 框架核心特性: 可以设置中间件来响应 HTTP 请求。 阅读全文
posted @ 2018-02-22 13:46 NAVYSUMMER 阅读(183) 评论(0) 推荐(0)
摘要: 什么是 Web 服务器? Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,Web服务器的基本功能就是提供Web信息浏览服务。它只需支持HTTP协议、HTML文档格式及URL,与客户端的网络浏览器配合。 大多数 web 服务器都支持服务端的脚本语言(php、python、ruby 阅读全文
posted @ 2018-02-22 13:39 NAVYSUMMER 阅读(149) 评论(0) 推荐(0)
摘要: Node.js DNS 模块用于解析域名。引入 DNS 模块语法格式如下: 方法 rrtypes 以下列出了 dns.resolve() 方法中有效的 rrtypes值: 'A' IPV4 地址, 默认 'AAAA' IPV6 地址 'MX' 邮件交换记录 'TXT' text 记录 'SRV' S 阅读全文
posted @ 2018-02-22 13:36 NAVYSUMMER 阅读(161) 评论(0) 推荐(0)
摘要: Node.js Domain(域) 简化异步代码的异常处理,可以捕捉处理try catch无法捕捉的异常。引入 Domain 模块 语法格式如下: domain模块,把处理多个不同的IO的操作作为一个组。注册事件和回调到domain,当发生一个错误事件或抛出一个错误时,domain对象会被通知,不会 阅读全文
posted @ 2018-02-22 13:36 NAVYSUMMER 阅读(152) 评论(0) 推荐(0)
摘要: Node.js Net 模块提供了一些用于底层的网络通信的小工具,包含了创建服务器/客户端的方法,我们可以通过以下方式引入该模块: 方法 net.Server net.Server通常用于创建一个 TCP 或本地服务器。 事件 net.Socket net.Socket 对象是 TCP 或 UNIX 阅读全文
posted @ 2018-02-22 13:35 NAVYSUMMER 阅读(171) 评论(0) 推荐(0)
摘要: Node.js os 模块提供了一些基本的系统操作函数。我们可以通过以下方式引入该模块: 方法 属性 实例 创建 main.js 文件,代码如下所示: 代码执行结果如下: 阅读全文
posted @ 2018-02-22 13:33 NAVYSUMMER 阅读(127) 评论(0) 推荐(0)
摘要: Node.js path 模块提供了一些用于处理文件路径的小工具,我们可以通过以下方式引入该模块: 方法 属性 实例 创建 main.js 文件,代码如下所示: 代码执行结果如下: 阅读全文
posted @ 2018-02-22 13:33 NAVYSUMMER 阅读(152) 评论(0) 推荐(0)
摘要: 在 Node.js 模块库中有很多好用的模块。接下来我们为大家介绍几种常用模块的使用: 阅读全文
posted @ 2018-02-22 13:32 NAVYSUMMER 阅读(100) 评论(0) 推荐(0)
摘要: Node.js 文件系统封装在 fs 模块是中,它提供了文件的读取、写入、更名、删除、遍历目录、链接等POSIX 文件系统操作。 与其他模块不同的是,fs 模块中所有的操作都提供了异步的和 同步的两个版本,例如读取文件内容的函数有异步的 fs.readFile() 和同步的 fs.readFileS 阅读全文
posted @ 2018-02-22 13:31 NAVYSUMMER 阅读(119) 评论(0) 推荐(0)
摘要: util 是一个Node.js 核心模块,提供常用函数的集合,用于弥补核心JavaScript 的功能 过于精简的不足。 util.inherits util.inherits(constructor, superConstructor)是一个实现对象间原型继承 的函数。 JavaScript 的面 阅读全文
posted @ 2018-02-22 13:30 NAVYSUMMER 阅读(155) 评论(0) 推荐(0)
摘要: JavaScript 中有一个特殊的对象,称为全局对象(Global Object),它及其所有属性都可 以在程序的任何地方访问,即全局变量。 在浏览器JavaScript 中,通常window 是全局对象, 而Node.js 中的全局对象是 global,所有全局变量(除了 global 本身以外 阅读全文
posted @ 2018-02-22 13:29 NAVYSUMMER 阅读(162) 评论(0) 推荐(0)
摘要: 我们要为路由提供请求的URL和其他需要的GET及POST参数,随后路由需要根据这些数据来执行相应的代码。 因此,我们需要查看HTTP请求,从中提取出请求的URL以及GET/POST参数。这一功能应当属于路由还是服务器(甚至作为一个模块自身的功能)确实值得探讨,但这里暂定其为我们的HTTP服务器的功能 阅读全文
posted @ 2018-02-22 13:28 NAVYSUMMER 阅读(119) 评论(0) 推荐(0)
摘要: 在JavaScript中,一个函数可以作为另一个函数接收一个参数。我们可以先定义一个函数,然后传递,也可以在传递参数的地方直接定义函数。 Node.js中函数的使用与Javascript类似,举例来说,你可以这样做: 以上代码中,我们把 say 函数作为execute函数的第一个变量进行了传递。这里 阅读全文
posted @ 2018-02-22 13:27 NAVYSUMMER 阅读(111) 评论(0) 推荐(0)
摘要: Stream 是一个抽象接口,Node 中有很多对象实现了这个接口。例如,对http 服务器发起请求的request 对象就是一个 Stream,还有stdout(标准输出)。 Node.js,Stream 有四种流类型: Readable - 可读操作。 Writable - 可写操作。 Dupl 阅读全文
posted @ 2018-02-22 13:26 NAVYSUMMER 阅读(115) 评论(0) 推荐(0)
摘要: 为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统。 模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的。换言之,一个 Node.js 文件就是一个模块,这个文件可能是JavaScript 代码、JSON 或者编译过的C/C++ 扩展。 创建模块 在 N 阅读全文
posted @ 2018-02-22 13:26 NAVYSUMMER 阅读(163) 评论(0) 推荐(0)
摘要: JavaScript 语言自身只有字符串数据类型,没有二进制数据类型。 但在处理像TCP流或文件流时,必须使用到二进制数据。因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门存放二进制数据的缓存区。 在 Node.js 中,Buffer 类是随 Node 内核一起发布的核心 阅读全文
posted @ 2018-02-22 13:25 NAVYSUMMER 阅读(192) 评论(0) 推荐(0)
摘要: Node.js 所有的异步I/O 操作在完成时都会发送一个事件到事件队列。 Node.js里面的许多对象都会分发事件:一个net.Server对象会在每次有新连接时分发一个事件, 一个fs.readStream对象会在文件被打开的时候发出一个事件。 所有这些产生事件的对象都是 events.Even 阅读全文
posted @ 2018-02-22 13:23 NAVYSUMMER 阅读(151) 评论(0) 推荐(0)
摘要: Node.js 是单进程单线程应用程序,但是通过事件和回调支持并发,所以性能非常高。 Node.js 的每一个 API 都是异步的,并作为一个独立线程运行,使用异步函数调用,并处理并发。 Node.js 基本上所有的事件机制都是用设计模式中观察者模式实现。 Node.js 单线程类似进入一个whil 阅读全文
posted @ 2018-02-22 13:22 NAVYSUMMER 阅读(91) 评论(0) 推荐(0)
摘要: Node.js 异步编程的直接体现就是回调。 异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。 回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,Node 所有 API 都支持回调函数。 例如,我们可以一边读取文件,一边执行其他命令,在文件读取完成后,我们将文件内容作为回 阅读全文
posted @ 2018-02-22 13:21 NAVYSUMMER 阅读(131) 评论(0) 推荐(0)
摘要: Node.js REPL(Read Eval Print Loop:交互式解释器) 表示一个电脑的环境,类似 Window 系统的终端或 Unix/Linux shell,我们可以在终端中输入命令,并接收系统的响应。 Node 自带了交互式解释器,可以执行以下任务: 读取 - 读取用户输入,解析输入 阅读全文
posted @ 2018-02-22 13:20 NAVYSUMMER 阅读(117) 评论(0) 推荐(0)
摘要: NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用。 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用 阅读全文
posted @ 2018-02-22 13:19 NAVYSUMMER 阅读(131) 评论(0) 推荐(0)
摘要: 如果我们使用PHP来编写后端的代码时,需要Apache 或者 Nginx 的HTTP 服务器,并配上 mod_php5 模块和php-cgi。 从这个角度看,整个"接收 HTTP 请求并提供 Web 页面"的需求根本不需 要 PHP 来处理。 不过对 Node.js 来说,概念完全不一样了。使用 N 阅读全文
posted @ 2018-02-22 13:18 NAVYSUMMER 阅读(100) 评论(0) 推荐(0)
摘要: Node.js安装包及源码下载地址为:http://www.nodejs.org/en/download/。 根据不同平台系统选择你需要的Node.js安装包。 注意:Linux上安装Node.js需要安装Python 2.6 或 2.7 ,不建议安装Python 3.0以上版本。 Windowv 阅读全文
posted @ 2018-02-22 13:16 NAVYSUMMER 阅读(161) 评论(0) 推荐(0)
摘要: 简单的说 Node.js 就是运行在服务端的 JavaScript。 Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。 Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能 阅读全文
posted @ 2018-02-22 13:15 NAVYSUMMER 阅读(143) 评论(0) 推荐(0)
摘要: 通道(Channel)是Go语言中一种非常独特的数据结构。它可用于在不同Goroutine之间传递类型化的数据,并且是并发安全的。相比之下,我们之前介绍的那些数据类型都不是并发安全的。这一点需要特别注意。 Goroutine(也称为Go程序)可以被看做是承载可被并发执行的代码块的载体。它们由Go语言 阅读全文
posted @ 2018-02-22 13:06 NAVYSUMMER 阅读(254) 评论(0) 推荐(0)
摘要: 首先我们来看线程,在golang里面也叫goroutine 在读这篇文章之前,我们需要了解一下并发与并行。golang的线程是一种并发机制,而不是并行。它们之间的区别大家可以上网搜一下,网上有很多的介绍。 下面我们先来看一个例子吧 import( "fmt" ) funcmain(){ 在golan 阅读全文
posted @ 2018-02-22 13:03 NAVYSUMMER 阅读(1579) 评论(0) 推荐(0)
摘要: Go 语言的 goto 语句可以无条件地转移到过程中指定的行。 goto语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。 但是,在结构化程序设计中一般不主张使用goto语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。 语法 goto 语法格式如下: brea 阅读全文
posted @ 2018-02-22 12:52 NAVYSUMMER 阅读(221) 评论(0) 推荐(0)
摘要: 如果一个指针变量存放的又是另一个指针变量的地址,则称这个指针变量为指向指针的指针变量。 当定义一个指向指针的指针变量时,第一个指针存放第二个指针的地址,第二个指针存放变量的地址: 指向指针的指针变量声明格式如下: 以上指向指针的指针变量为整型。 访问指向指针的指针变量值需要使用两个 * 号,如下所示 阅读全文
posted @ 2018-02-22 12:51 NAVYSUMMER 阅读(196) 评论(0) 推荐(0)
摘要: Go 语言支持匿名函数,可作为闭包。匿名函数是一个"内联"语句或表达式。匿名函数的优越性在于可以直接使用函数内的变量,不必申明。 以下实例中,我们创建了函数 getSequence() ,返回另外一个函数。该函数的目的是在闭包中递增 i 变量,代码如下: 以上代码执行结果为: 阅读全文
posted @ 2018-02-22 12:50 NAVYSUMMER 阅读(130) 评论(0) 推荐(0)
摘要: Go 语言支持多维数组,以下为常用的多维数组声明方式: 以下实例声明了三维的整型数组: 二维数组 二维数组是最简单的多维数组,二维数组本质上是由一维数组组成的。二维数组定义方式如下: variable_type 为 Go 语言的数据类型,arrayName 为数组名,二维数组可认为是一个表格,x 为 阅读全文
posted @ 2018-02-22 12:49 NAVYSUMMER 阅读(190) 评论(0) 推荐(0)
摘要: Go 语言通过内置的错误接口提供了非常简单的错误处理机制。 error类型是一个接口类型,这是它的定义: 我们可以在编码中通过实现 error 接口类型来生成错误信息。 函数通常在最后的返回值中返回错误信息。使用errors.New 可返回一个错误信息: 在下面的例子中,我们在调用Sqrt的时候传递 阅读全文
posted @ 2018-02-22 12:48 NAVYSUMMER 阅读(145) 评论(0) 推荐(0)
摘要: Go 语言提供了另外一种数据类型即接口,它把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口。 实例 实例 在上面的例子中,我们定义了一个接口Phone,接口里面有一个方法call()。然后我们在main函数里面定义了一个Phone类型变量,并分别为之赋值为Nokia 阅读全文
posted @ 2018-02-22 12:47 NAVYSUMMER 阅读(124) 评论(0) 推荐(0)
摘要: 递归,就是在运行的过程中调用自己。 语法格式如下: Go 语言支持递归。但我们在使用递归时,开发者需要设置退出条件,否则递归将陷入无限循环中。 递归函数对于解决数学上的问题是非常有用的,就像计算阶乘,生成斐波那契数列等。 阶乘 以下实例通过 Go 语言的递归函数实例阶乘: 以上实例执行输出结果为: 阅读全文
posted @ 2018-02-22 12:46 NAVYSUMMER 阅读(121) 评论(0) 推荐(0)
摘要: 类型转换用于将一种数据类型的变量转换为另外一种类型的变量。Go 语言类型转换基本格式如下: type_name 为类型,expression 为表达式。 实例 以下实例中将整型转化为浮点型,并计算结果,将结果赋值给浮点型变量: 以上实例执行输出结果为: 阅读全文
posted @ 2018-02-22 12:46 NAVYSUMMER 阅读(109) 评论(0) 推荐(0)
摘要: Map 是一种无序的键值对的集合。Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值。 Map 是一种集合,所以我们可以像迭代数组和切片那样迭代它。不过,Map 是无序的,我们无法决定它的返回顺序,这是因为 Map 是使用 hash 表来实现的。 定义 Map 可以 阅读全文
posted @ 2018-02-22 12:44 NAVYSUMMER 阅读(165) 评论(0) 推荐(0)
摘要: Go 语言切片是对数组的抽象。 Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。 定义切片 你可以声明一个未指定大小的数组来定义切片: 切片不需要说明 阅读全文
posted @ 2018-02-22 12:43 NAVYSUMMER 阅读(194) 评论(0) 推荐(0)
摘要: Go 语言中 range 关键字用于for循环中迭代数组(array)、切片(slice)、链表(channel)或集合(map)的元素。在数组和切片中它返回元素的索引值,在集合中返回 key-value 对的 key 值。 实例 以上实例运行输出结果为: 阅读全文
posted @ 2018-02-22 12:43 NAVYSUMMER 阅读(436) 评论(0) 推荐(0)
摘要: Go 语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型。 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。 结构体表示一项记录,比如保存图书馆的书籍记录,每本书有以下属性: Title :标题 Author : 作者 Subject:学科 ID:书籍ID 阅读全文
posted @ 2018-02-22 12:42 NAVYSUMMER 阅读(162) 评论(0) 推荐(0)
摘要: Go 语言中指针是很容易学习的,Go 语言中使用指针可以更简单的执行一些任务。 接下来让我们来一步步学习 Go 语言指针。 我们都知道,变量是一种使用方便的占位符,用于引用计算机内存地址。 Go 语言的取地址符是 &,放到一个变量前使用就会返回相应变量的内存地址。 以下实例演示了变量在内存中地址: 阅读全文
posted @ 2018-02-22 12:41 NAVYSUMMER 阅读(139) 评论(0) 推荐(0)
摘要: Go 语言提供了数组类型的数据结构。 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形、字符串或者自定义类型。 相对于去声明number0, number1, ..., and number99的变量,使用数组形式numbers[0], numbers[ 阅读全文
posted @ 2018-02-22 12:39 NAVYSUMMER 阅读(154) 评论(0) 推荐(0)
摘要: 作用域为已声明标识符所表示的常量、类型、变量、函数或包在源代码中的作用范围。 Go 语言中变量可以在三个地方声明: 函数内定义的变量称为局部变量 函数外定义的变量称为全局变量 函数定义中的变量称为形式参数 接下来让我们具体了解局部变量、全局变量和形式参数。 局部变量 在函数体内声明的变量称之为局部变 阅读全文
posted @ 2018-02-22 12:38 NAVYSUMMER 阅读(175) 评论(0) 推荐(0)
摘要: 函数是基本的代码块,用于执行一个任务。 Go 语言最少有个 main() 函数。 你可以通过函数来划分不同功能,逻辑上每个函数执行的是指定的任务。 函数声明告诉了编译器函数的名称,返回类型,和参数。 Go 语言标准库提供了多种可动用的内置的函数。例如,len() 函数可以接受不同类型参数并返回该类型 阅读全文
posted @ 2018-02-22 12:37 NAVYSUMMER 阅读(134) 评论(0) 推荐(0)
摘要: 在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。 以下为大多编程语言循环程序的流程图: Go 语言提供了以下几种类型循环处理语句: 循环控制语句 循环控制语句可以控制循环体内语句的执行过程。 GO 语言支持以下几种循环控制语句: 无限循环 如过循环中条件语句永远不为 阅读全文
posted @ 2018-02-22 12:36 NAVYSUMMER 阅读(120) 评论(0) 推荐(0)
摘要: 条件语句需要开发者通过指定一个或多个条件,并通过测试条件是否为 true 来决定是否执行指定语句,并在条件为 false 的情况在执行另外的语句。 下图展示了程序语言中条件语句的结构: Go 语言提供了以下几种条件判断语句: 阅读全文
posted @ 2018-02-22 12:35 NAVYSUMMER 阅读(119) 评论(0) 推荐(0)
摘要: 运算符用于在程序运行时执行数学或逻辑运算。 Go 语言内置的运算符有: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 其他运算符 接下来让我们来详细看看各个运算符的介绍。 算术运算符 下表列出了所有Go语言的算术运算符。假定 A 值为 10,B 值为 20。 以下实例演示了各个算术运算符 阅读全文
posted @ 2018-02-22 12:34 NAVYSUMMER 阅读(142) 评论(0) 推荐(0)
摘要: 常量是一个简单值的标识符,在程序运行时,不会被修改的量。 常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。 常量的定义格式: 你可以省略类型说明符 [type],因为编译器可以根据变量的值来推断其类型。 显式类型定义: const b string = "abc" 隐式类型 阅读全文
posted @ 2018-02-22 12:33 NAVYSUMMER 阅读(133) 评论(0) 推荐(0)
摘要: 变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。 Go 语言变量名由字母、数字、下划线组成,其中首个字母不能为数字。 声明变量的一般形式是使用 var 关键字: 变量声明 第一种,指定变量类型,声明后若不赋值,使用默认值。 第二种,根据值自行判定变量类型。 第 阅读全文
posted @ 2018-02-22 12:32 NAVYSUMMER 阅读(136) 评论(0) 推荐(0)
摘要: 在 Go 编程语言中,数据类型用于声明函数和变量。 数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。 Go 语言按类别有以下几种数据类型: (a) 指针类型(Pointer) (b) 数组类型 (c) 结构化类型(struct) 阅读全文
posted @ 2018-02-22 12:30 NAVYSUMMER 阅读(103) 评论(0) 推荐(0)
摘要: Go 标记 Go 程序可以由多个标记组成,可以是关键字,标识符,常量,字符串,符号。如以下 GO 语句由 6 个标记组成: 6 个标记是(每行一个): 行分隔符 在 Go 程序中,一行代表一个语句结束。每个语句不需要像 C 家族中的其它语言一样以分号 ; 结尾,因为这些工作都将由 Go 编译器自动完 阅读全文
posted @ 2018-02-22 12:29 NAVYSUMMER 阅读(173) 评论(0) 推荐(0)
摘要: Go 语言支持以下系统: Linux FreeBSD Mac OS X(也称为 Darwin) Window 安装包下载地址为:https://golang.org/dl/。 各个系统对应的包名: UNIX/Linux/Mac OS X, 和 FreeBSD 安装 以下介绍了在UNIX/Linux/ 阅读全文
posted @ 2018-02-22 05:23 NAVYSUMMER 阅读(111) 评论(0) 推荐(0)
摘要: Go Hello World 实例 Go 语言的基础组成有以下几个部分: 包声明 引入包 函数 变量 语句 & 表达式 注释 接下来让我们来看下简单的代码,该代码输出了"Hello World!": 让我们来看下以上程序的各个部分: 第一行代码 package main 定义了包名。你必须在源文件中 阅读全文
posted @ 2018-02-22 05:23 NAVYSUMMER 阅读(99) 评论(0) 推荐(0)
摘要: Go 语言教程 Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。 Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源, 阅读全文
posted @ 2018-02-22 05:22 NAVYSUMMER 阅读(170) 评论(0) 推荐(0)
摘要: 在下面表格中列出的方法用来设置或返回元素的 CSS 相关属性。 阅读全文
posted @ 2018-02-22 05:20 NAVYSUMMER 阅读(89) 评论(0) 推荐(0)
摘要: 方法描述 data() 向被选元素附加数据,或者从被选元素获取数据 each() 为每个匹配元素执行函数 get() 获取由选择器指定的 DOM 元素 index() 从匹配元素中搜索给定元素 $.noConflict() 释放变量 $ 的 jQuery 控制权 $.param() 创建数组或对象的 阅读全文
posted @ 2018-02-22 05:19 NAVYSUMMER 阅读(97) 评论(0) 推荐(0)
摘要: 方法描述 add() 把元素添加到匹配元素的集合中 addBack() 把之前的元素集添加到当前集合中 andSelf() 在版本 1.8 中被废弃。addBack() 的别名 children() 返回被选元素的所有直接子元素 closest() 返回被选元素的第一个祖先元素 contents() 阅读全文
posted @ 2018-02-22 05:18 NAVYSUMMER 阅读(114) 评论(0) 推荐(0)
摘要: 方法描述 $.ajax() 执行异步 AJAX 请求 $.ajaxPrefilter() 在每个请求发送之前且被 $.ajax() 处理之前,处理自定义 Ajax 选项或修改已存在选项 $.ajaxSetup() 为将来的 AJAX 请求设置默认值 $.ajaxTransport() 创建处理 Aj 阅读全文
posted @ 2018-02-22 05:18 NAVYSUMMER 阅读(93) 评论(0) 推荐(0)
摘要: 下面的方法适用于 HTML 和 XML 文档。除了:html() 方法。 阅读全文
posted @ 2018-02-22 05:17 NAVYSUMMER 阅读(108) 评论(0) 推荐(0)
摘要: 方法描述 animate() 对被选元素应用"自定义"的动画 clearQueue() 对被选元素移除所有排队函数(仍未运行的) delay() 对被选元素的所有排队函数(仍未运行)设置延迟 dequeue() 移除下一个排队函数,然后执行函数 fadeIn() 逐渐改变被选元素的不透明度,从隐藏到 阅读全文
posted @ 2018-02-22 05:16 NAVYSUMMER 阅读(99) 评论(0) 推荐(0)
摘要: 事件方法触发器或添加一个函数到被选元素的事件处理程序。 下面的表格列出了所有用于处理事件的 jQuery 方法。 阅读全文
posted @ 2018-02-22 05:15 NAVYSUMMER 阅读(133) 评论(0) 推荐(0)
摘要: 选择器实例选取 * $("*") 所有元素 #id $("#lastname") id="lastname" 的元素 .class $(".intro") class="intro" 的所有元素 .class,.class $(".intro,.demo") class 为 "intro" 或 "demo" 的所有元素 element $("p") 所有 元素 el... 阅读全文
posted @ 2018-02-22 05:14 NAVYSUMMER 阅读(107) 评论(0) 推荐(0)
摘要: 如何在页面上同时使用 jQuery 和其他框架? 要解决这个问题,只需要使用jQuery中的noConflict()方法,它允许你在同一个页面加载多个jQuery实例,尤其是不同版本的jQuery。 jQuery 和其他 JavaScript 框架 正如您已经了解到的,jQuery 使用 $ 符号作 阅读全文
posted @ 2018-02-22 05:12 NAVYSUMMER 阅读(139) 评论(0) 推荐(0)
摘要: jQuery get() 和 post() 方法用于通过 HTTP GET 或 POST 请求从服务器请求数据。 HTTP 请求:GET vs. POST 两种在客户端和服务器端进行请求-响应的常用方法是:GET 和 POST。 GET - 从指定的资源请求数据 POST - 向指定的资源提交要处理 阅读全文
posted @ 2018-02-22 05:11 NAVYSUMMER 阅读(142) 评论(0) 推荐(0)
摘要: jQuery load() 方法 jQuery load() 方法是简单但强大的 AJAX 方法。 load() 方法从服务器加载数据,并把返回的数据放入被选元素中。 语法: $(selector).load(URL,data,callback); $(selector).load(URL,data 阅读全文
posted @ 2018-02-22 05:10 NAVYSUMMER 阅读(136) 评论(0) 推荐(0)
摘要: AJAX 是与服务器交换数据的技术,它在不重载全部页面的情况下,实现了对部分网页的更新。 jQuery AJAX 实例 使用 jQuery AJAX 修改文本内容 jQuery AJAX 实例 使用 jQuery AJAX 修改文本内容 使用 jQuery AJAX 修改文本内容 使用 jQuery 阅读全文
posted @ 2018-02-22 05:09 NAVYSUMMER 阅读(114) 评论(0) 推荐(0)
摘要: extends和block一起用 它们用于母版和子版的继承 在母版html中将一些需要替换的部分用{% block xxx %}。。。{% endblock %}括起来, 在子版html中,在第一行需要写上要继承的母版,{% extends '母版的相对路径' %}这样引入母版。 include i 阅读全文
posted @ 2018-02-22 05:06 NAVYSUMMER 阅读(188) 评论(0) 推荐(0)
摘要: 一、数据库的配置 1 django默认支持sqlite,mysql, oracle,postgresql数据库。 <1>sqlite django默认使用sqlite的数据库,默认自带sqlite的数据库驱动 引擎名称:django.db.backends.sqlite3 <2>mysql 引擎名称 阅读全文
posted @ 2018-02-22 05:05 NAVYSUMMER 阅读(170) 评论(0) 推荐(0)
摘要: 开开启django时,使用0.0.0.0:xxxx,作为ip和端口例如: python3 manage.py runserver 0.0.0.0:9000 然后在settings里修改ALLOWED_HOSTS = [], 改为ALLOWED_HOSTS = ['*',],注意不要漏掉“,”。 其他 阅读全文
posted @ 2018-02-22 04:56 NAVYSUMMER 阅读(210) 评论(0) 推荐(0)
交流群 编程书籍