热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在Golang中连接两个字符串的不同方式

在Golang中连接两个字符串的不同方式原文:https:/

在 Golang 中连接两个字符串的不同方式

原文:https://www . geeksforgeeks . org/different-way-concatenate-two-string-in-golang/

在 Go 语言中,字符串是由任意字节组成的不可变链,用 UTF-8 编码进行编码。在 Go 字符串中,将两个或多个字符串添加到新的单个字符串中的过程称为串联。在 Go 语言中连接两个或多个字符串的最简单方法是使用+ operator。它也被称为连接运算符。

示例:

// Go program to illustrate
// how to concatenate strings
package main
import "fmt"
func main() {
    // Creating and initializing strings
    // using var keyword
    var str1 string
    str1 = "Welcome!"
    var str2 string
    str2 = "GeeksforGeeks"
    // Concatenating strings
    // Using + operator
    fmt.Println("New string 1: ", str1+str2)
    // Creating and initializing strings
    // Using shorthand declaration
    str3 := "Geeks"
    str4 := "Geeks"
    // Concatenating strings
    // Using + operator
    result := str3 + "for" + str4
    fmt.Println("New string 2: ", result)
}

输出:

New string 1: Welcome!GeeksforGeeks
New string 2: GeeksforGeeks


连接字符串的其他方法



  • Using bytes.Buffer: You can also create a string by concatenating the bytes of the strings using bytes.Buffer with WriteString() method. It is defined under bytes package. It prevents the generation of the unnecessary string object, means it doesn’t generate a new string like in + operator from two or more strings.

    示例:

    ```go
    // Go program to illustrate how to concatenate strings
    // Using bytes.Buffer with WriteString() function
    package main

    import (
        "bytes"
        "fmt"
    )

    func main() {

    // Creating and initializing strings
        // Using bytes.Buffer with 
        // WriteString() function
        var b bytes.Buffer

    b.WriteString("G")
        b.WriteString("e")
        b.WriteString("e")
        b.WriteString("k")
        b.WriteString("s")

    fmt.Println("String: ", b.String())

    b.WriteString("f")
        b.WriteString("o")
        b.WriteString("r")
        b.WriteString("G")
        b.WriteString("e")
        b.WriteString("e")
        b.WriteString("k")
        b.WriteString("s")

    fmt.Println("String: ", b.String())

    }
    ```

    输出:

    ```go
    String: Geeks
    String: GeeksforGeeks

    ```


  • Using Sprintf: In Go language, you can also concatenate string using Sprintf() method.

    示例:

    ```go
    // Go program to illustrate how to concatenate strings
    // Using Sprintf function
    package main

    import "fmt"

    func main() {

    // Creating and initializing strings
        str1 := "Tutorial"
        str2 := "of"
        str3 := "Go"
        str4 := "Language"

    // Concatenating strings using 
        // Sprintf() function
        result := fmt.Sprintf("%s%s%s%s", str1, 
                              str2, str3, str4)

    fmt.Println(result)
    }
    ```

    输出:

    go
    TutorialofGoLanguage


  • Using += operator or String append: In Go strings, you are allowed to append a string using += operator. This operator adds a new or given string to the end of the specified string.

    示例:

    ```go
    // Go program to illustrate how
    // to concatenate strings
    // Using += operator
    package main

    import "fmt"

    func main() {

    // Creating and initializing strings
        str1 := "Welcome"
        str2 := "GeeksforGeeks"

    // Using += operator
        str1 += str2
        fmt.Println("String: ", str1)

    str1 += "This is the tutorial of Go language"
        fmt.Println("String: ", str1)

    str2 += "Portal"
        fmt.Println("String: ", str2)

    }
    ```

    输出:

    ```go
    String: WelcomeGeeksforGeeks
    String: WelcomeGeeksforGeeksThis is the tutorial of Go language
    String: GeeksforGeeksPortal

    ```


  • Using Join() function: This function concatenates all the elements present in the slice of string into a single string. This function is available in string package.

    语法:

    go
    func Join(str []string, sep string) string

    这里, str 是我们可以连接元素的字符串,sep 是放置在最终字符串中元素之间的分隔符。

    示例:

    ```go
    // Go program to illustrate how to
    // concatenate all the elements
    // present in the slice of the string
    package main

    import (
        "fmt"
        "strings"
    )

    func main() {

    // Creating and initializing slice of string
        myslice := []string{"Welcome", "To",
                  "GeeksforGeeks", "Portal"}

    // Concatenating the elements 
        // present in the slice
        // Using join() function
        result := strings.Join(myslice, "-")
        fmt.Println(result)
    }
    ```

    输出:

    go
    Welcome-To-GeeksforGeeks-Portal



推荐阅读
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 本文介绍如何使用阿里云的fastjson库解析包含时间戳、IP地址和参数等信息的JSON格式文本,并进行数据处理和保存。 ... [详细]
  • Scala 实现 UTF-8 编码属性文件读取与克隆
    本文介绍如何使用 Scala 以 UTF-8 编码方式读取属性文件,并实现属性文件的克隆功能。通过这种方式,可以确保配置文件在多线程环境下的一致性和高效性。 ... [详细]
  • 本文介绍了如何通过 Maven 依赖引入 SQLiteJDBC 和 HikariCP 包,从而在 Java 应用中高效地连接和操作 SQLite 数据库。文章提供了详细的代码示例,并解释了每个步骤的实现细节。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • Java 中的 BigDecimal pow()方法,示例 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 将Web服务部署到Tomcat
    本文介绍了如何在JDeveloper 12c中创建一个Java项目,并将其打包为Web服务,然后部署到Tomcat服务器。内容涵盖从项目创建、编写Web服务代码、配置相关XML文件到最终的本地部署和验证。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 本文介绍如何使用Python进行文本处理,包括分词和生成词云图。通过整合多个文本文件、去除停用词并生成词云图,展示文本数据的可视化分析方法。 ... [详细]
  • 实体映射最强工具类:MapStruct真香 ... [详细]
  • 本文探讨了在Java多线程环境下,如何确保具有相同key值的线程能够互斥执行并按顺序输出结果。通过优化代码结构和使用线程安全的数据结构,我们解决了线程同步问题,并实现了预期的并发行为。 ... [详细]
  • 使用Pandas高效读取SQL脚本中的数据
    本文详细介绍了如何利用Pandas直接读取和解析SQL脚本,提供了一种高效的数据处理方法。该方法适用于各种数据库导出的SQL脚本,并且能够显著提升数据导入的速度和效率。 ... [详细]
author-avatar
Roux
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有