go基础库之使用分隔符连接字符串切片

栏目: Go · 发布时间: 5年前

内容简介:本片将分享如何将多个字符串连接成一个字符串,并将给定的字符串作为分隔符。一个真实的用例是动态构建SQL select语句。

本片将分享如何将多个字符串连接成一个字符串,并将给定的字符串作为分隔符。

一个真实的用例是动态构建SQL select语句。

使用分隔符连接字符串切片

Golang 版本

1.12.1

前言

本片将分享如何将多个字符串连接成一个字符串,并将给定的字符串作为分隔符。

一个真实的用例是动态构建SQL select语句。

实现

  1. 创建文件 join.go ,代码如下:

    package main
    
    import (
    	"fmt"
    	"strings"
    )
    
    const selectBase = "SELECT * FROM user WHERE %s "
    
    var refStringSlice = []string{
    	" FIRST_NAME = 'Jack' ",
    	" INSURANCE_NO = 333444555 ",
    	" EFFECTIVE_FROM = SYSDATE "}
    
    func main() {
    
    	sentence := strings.Join(refStringSlice, "AND")
    	fmt.Printf(selectBase+"\n", sentence)
    
    }
    
    $ go run join.go
    SELECT * FROM user WHERE  FIRST_NAME = 'Jack' AND INSURANCE_NO = 333444555 AND EFFECTIVE_FROM = SYSDATE
    
  2. 创建文件 join_manually.go ,代码如下:

    package main
    
    import (
    	"fmt"
    	"strings"
    )
    
    const selectBase = "SELECT * FROM user WHERE "
    
    var refStringSlice = []string{
    	" FIRST_NAME = 'Jack' ",
    	" INSURANCE_NO = 333444555 ",
    	" EFFECTIVE_FROM = SYSDATE "}
    
    type JoinFunc func(piece string) string
    
    func main() {
    
    	jF := func(p string) string {
    		if strings.Contains(p, "INSURANCE") {
    			return "OR"
    		}
    
    		return "AND"
    	}
    	result := JoinWithFunc(refStringSlice, jF)
    	fmt.Println(selectBase + result)
    }
    
    func JoinWithFunc(refStringSlice []string,
    	joinFunc JoinFunc) string {
    	concatenate := refStringSlice[0]
    	for _, val := range refStringSlice[1:] {
    		concatenate = concatenate + joinFunc(val) + val
    	}
    	return concatenate
    }
    
    $ go run join_manually.go
    SELECT * FROM user WHERE  FIRST_NAME = 'Jack' OR INSURANCE_NO = 333444555 AND EFFECTIVE_FROM = SYSDATE
    

原理

为了将字符串切片连接成单个字符串,这里有 string 包的 Join 函数。简单地说,需要为切片提供需要连接的字符串。这样,就可以轻松地连接字符串切片。 Join 函数的使用如步骤1所示。

当然,连接可以通过在切片上迭代来手动实现。通过这种方式,可以通过一些更复杂的逻辑定制分隔符。步骤2只是表示如何根据当前处理的字符串将手动连接用于更复杂的逻辑。

延伸

Join 函数由 bytes 包提供,它自然地用于连接字节片。


以上所述就是小编给大家介绍的《go基础库之使用分隔符连接字符串切片》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

HTML网页设计参考手册

HTML网页设计参考手册

张金霞 / 清华大学 / 2006-9 / 39.00元

本书由最基本的HTML语法开始讲解网页设计的基础技术,详细介绍了各种网页制作的标记;然后介绍如何运用CSS控制网页画面中文字与图片的样式;接下来讲解了JavaScript语言与网页特效的制作;最后以应用最广泛的Drcamweaver为例,介绍网页设计的方法。在讲解中配有大量范例,使读者在实际操作中学习制作网页。   HTML语言是制作网页的基础语言。作为一个网页制作爱好者或者专业的网......一起来看看 《HTML网页设计参考手册》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具