Go语言支持链式调用,它是一种编程技术,可以将多个函数或方法连接在一起,以便在一行中完成多个操作。链式调用可以使代码更加简洁、易读,并且可以减少重复的代码。
Go语言中的链式调用是通过将函数或方法的返回值传递到下一个函数或方法中来实现的。例如,假设有一个名为“add”的函数,它可以将两个整数相加并返回其和。如果要将三个整数相加,则可以使用链式调用来实现:
sum := add(1, 2).add(3) // sum = 6
上面的代码中,add() 函数会先将 1 和 2 相加,然后再将 3 传递到 add() 函数中,最后得到 6 作为最终的和。
Go语言中的链式调用也可以应用于对象方法上。例如:
type Person struct { name string age int } func (person *Person) SetName(name string) *Person { person.name = name return person } func (person *Person) SetAge(age int) *Person { person.age = age return person } p := &Person{} p.SetName("John").SetAge(20)
上面的代码中,SetName() 和 SetAge() 方法都会返回 Person 结构体对象本身(即 p )。因此可以使用链式调用来对 Person 结构体对象进行多步修改。
FieldsStr
用于获取指定表的字段,并可给定字段前缀,字段之间使用",
"符号连接成字符串返回;
FieldsExStr
用于获取指定表中例外的字段,并可给定字段前缀,字段之间使用",
"符号连接成字符串返回;user
表有4个字段uid
, nickname
, passport
, password
。
// uid,nickname,passport,password
db.Table("user").FieldsStr()
// gf_uid,gf_nickname,gf_passport,gf_password
db.Table("user").FieldsStr("gf_")
user
表有4个字段uid
, nickname
, passport
, password
。
// uid,nickname
db.Table("user").FieldsExStr("passport, password")
// gf_uid,gf_nickname
db.Table("user").FieldsExStr("passport, password", "gf_")
SVG 渐变 - 线性 SVG 线性渐变指的是沿着直线改变颜色,要插入一个线性渐变,只需要在 SVG 文件的 defs 元素内部,创建一个 line...
XSL-FO retrieve-marker 对象XSL-FO 参考手册定义和用法 fo:retrieve-marker 对象与 fo:marker 一起使用来创建运行的页眉或页脚...
XSL-FO table-caption 对象XSL-FO 参考手册定义和用法 fo:table-caption 对象包含了使用 fo:table-and-caption 对象定义的表格标...
XML Schema simpleType 元素 完整 XML Schema 参考手册定义和用法 simpleType 元素定义一个简单类型,规定与具有纯文本内容的元...
XML Schema field 元素 完整 XML Schema 参考手册定义和用法 field 元素规定 XPath 表达式,该表达式指定用来定义标识约束(uniq...
XML Schema key 元素 完整 XML Schema 参考手册定义和用法 key 元素指定属性或元素值(或一组值)必须是指定范围内的键。键的范...
XSLT xsl:otherwise 元素本节通过两个实例来为你讲解 XSLTxsl:otherwise元素。 完整的 XSLT 元素参考手册定义和用法 xsl:otherwi...
XSLT xsl:stylesheet 和 xsl:transform 元素在 XSLT 中,这两个元素拥有相同的意思,本节介绍了它们的属性与用法。 完整的 XSLT ...
XSLT element-available() 函数XSLTelement-available()函数返回一个布尔值,本节内容描述了该值的作用。 完整的 XSLT 函数参考...