有点像j的东西,只在围棋中。

Posted

tags:

中文标题:有点像j的东西,只在围棋中。 原文标题:A little like that j-thing, only in Go. 项目评级:Star:12500      Fork:881 下载地址:https://github.com/PuerkitoBio/goquery 详情介绍

goquery-有点像j的东西,只是在Go中

goquery为Go语言带来了类似jQuery的语法和一组功能。它基于Go的net/html包和CSS Selector库cascadia。由于net/html解析器返回节点,而不是一个功能齐全的DOM树,jQuery的有状态操作函数(如height()、css()、detachment())被省略了。

此外,由于net/html解析器需要UTF-8编码,goquery也是如此:调用者有责任确保源文档提供UTF-8编码的html。请参阅wiki以获取各种选项。

从语法角度来看,它尽可能接近jQuery,尽可能使用相同的函数名,以及温暖而模糊的可链接接口。jQuery是一个非常流行的库,我觉得编写一个类似的HTML操作库最好遵循它的API,而不是重新开始(本着Gofmt包的精神),尽管它的一些方法不够直观(看看你,index()…)。

目录

安装

请注意,由于net/html依赖性,goquery需要Go1.1+,并在Go1.7+上进行了测试。

$ go get github.com/PuerkitoBio/goquery

(可选)要运行单元测试:

$ cd $GOPATH/src/github.com/PuerkitoBio/goquery $ go test

(可选)要运行基准测试(警告:它会运行几分钟):

$ cd $GOPATH/src/github.com/PuerkitoBio/goquery $ go test -bench=".*"

变更日志

注意,goquery的API现在是稳定的,不会中断。

API

goquery公开了DocumentSelection两个结构,以及Matcher接口。与jQuery不同,jQuery作为DOM文档的一部分加载,因此对其包含的文档进行操作,goquery不知道要对哪个HTML文档进行操作。所以需要说明,这就是Document类型的作用。它将根文档节点作为要操作的初始“选择”值。

jQuery通常对同一函数有许多变体(无参数、选择器字符串参数、jQuery对象参数、DOM元素参数等)。与其将goquery中的相同功能公开为具有可变空接口参数的单个方法,不如按照以下命名约定使用静态类型签名:

不在jQuery中但在Go中有用的实用函数被实现为函数(以*Selection为参数),以避免*Selection的方法上潜在的命名冲突(保留用于jQuery等效行为)。

完整的软件包参考文档可以在这里找到。

请注意,Cascadia的选择器不一定与jQuery(Sizzle)所有支持的选择器匹配。详见cascadia项目。无效的选择器字符串编译为与任何节点都不匹配的Matcher。将选择器字符串作为参数的各种函数的行为来源于该事实,例如(其中~是无效的选择器字符串):

示例

查看wiki中的一些提示和技巧。

改编自example_test.go:

相关项目

支持

您可以通过多种方式支持该项目:

许可证

BSD 3条款许可证,与Go语言相同。卡斯卡迪亚的执照在这里。

围棋中无方法结构的多态性

围棋选手不到30岁就下坡,最大因素是什么?

RPC框架研究Hadoop源代码-1

4572: [Scoi2016]围棋 轮廓线DP KMP

eclipse 可视化插件Visual Editor,怎么安装?

CF1009F Dominant Indices 解题报告