发布时间:2024-12-22 22:22:23
```go package main import "fmt" func main() { str := ` This is a multi-line string. It can contain multiple lines of text. This is very useful when dealing with long strings or embedding HTML code.` fmt.Println(str) } ```
该示例中的str变量是一个多行字符串,其中包含了多行的文本。使用原始字符串字面量创建多行字符串非常方便,不需要考虑转义字符或换行符。 另一种创建多行字符串的方法是使用连续的字符串字面量,并使用加号(+)进行连接。然而,这种方式会造成代码的可读性下降,并且当字符串很长时,很容易出错。```go package main import ( "fmt" "strings" ) func main() { str := "This is a multi-line string.\nIt can contain multiple lines of text." // 获取多行字符串的长度 length := len(str) fmt.Println("Length:", length) // 检查多行字符串是否包含某个子串 contains := strings.Contains(str, "multi") fmt.Println("Contains:", contains) // 将多行字符串拆分为单行字符串 lines := strings.Split(str, "\n") for _, line := range lines { fmt.Println(line) } // 去除多行字符串中的空格和换行符 trimmed := strings.TrimSpace(str) fmt.Println("Trimmed:", trimmed) // 替换多行字符串中的子串 replaced := strings.ReplaceAll(str, "multi", "multiple") fmt.Println("Replaced:", replaced) } ```
在上述示例中,我们使用了strings包提供的函数来对多行字符串进行各种操作。我们计算了多行字符串的长度,检查了一个子串是否存在于多行字符串中,并将多行字符串拆分为单行字符串数组。另外,我们还演示了如何去除多行字符串中的空格和换行符,以及如何替换多行字符串中的子串。```go package main import "fmt" func main() { name := "John" age := 30 occupation := "Developer" str := fmt.Sprintf(` Name: %s Age: %d Occupation: %s`, name, age, occupation) fmt.Println(str) } ```
在上述示例中,我们使用了fmt.Sprintf函数来格式化多行字符串。我们使用了占位符(%s和%d)来表示要填充的值,并将要填充的值作为参数传递给函数。这样,我们就可以将变量的值插入到多行字符串的相应位置。