Golang中%d...的含义是什么?

Golang中%d…的含义是什么? 如果我有一个单独的id值,那么当以下代码在%d后面使用三个点时,这表示什么意思?

fmt.Fprintf(w, "a book with id=%d...", id)
2 回复

它们只是三个点。试试看

package main

import (
	"fmt"
)

func main() {
	id := 1
	fmt.Printf("a book with id=%d...", id)
}

输出:

一本编号为1的书…

更多关于Golang中%d...的含义是什么?的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


在Go语言中,%d后面的三个点(...)在格式化字符串中没有特殊含义,它只是普通文本字符。这个用法与Go语言中的可变参数语法(...)完全不同。

在你的代码示例中:

fmt.Fprintf(w, "a book with id=%d...", id)

这里的...只是字符串字面量的一部分,表示省略号或延续的视觉效果。格式化过程如下:

  1. %d 会被替换为 id 变量的整数值
  2. ... 会原样输出

示例代码:

package main

import (
    "fmt"
    "os"
)

func main() {
    id := 42
    // 输出: a book with id=42...
    fmt.Fprintf(os.Stdout, "a book with id=%d...", id)
    
    // 等同于:
    fmt.Printf("a book with id=%d...\n", id)
    
    // 另一个例子
    count := 5
    fmt.Printf("Processing %d items...\n", count)
    // 输出: Processing 5 items...
}

如果id的值为123,输出将是:

a book with id=123...

这与Go语言中用于可变参数的...语法是不同的概念:

// 这是可变参数语法
func sum(numbers ...int) int {
    total := 0
    for _, num := range numbers {
        total += num
    }
    return total
}

在你的格式化字符串中,...纯粹是文本内容,用于表示操作正在进行或未完成的视觉提示。

回到顶部