patch fmt: printArg

This commit is contained in:
xushiwei
2024-07-04 17:39:02 +08:00
parent 7e25ec1ac3
commit 23da63767c
2 changed files with 11 additions and 12 deletions

View File

@@ -1,8 +1,12 @@
package main
import "fmt"
import (
"errors"
"fmt"
)
func main() {
fmt.Println("Hello, world")
fmt.Printf("%f\n", 3.14)
fmt.Printf("%v\n", errors.New("error message"))
}

View File

@@ -750,7 +750,6 @@ func (p *pp) printArg(arg any, verb rune) {
p.fmtInteger(uint64(f), unsigned, verb)
case string:
p.fmtString(f, verb)
/* TODO(xsw):
case []byte:
p.fmtBytes(f, verb, "[]byte")
case reflect.Value:
@@ -763,17 +762,13 @@ func (p *pp) printArg(arg any, verb rune) {
}
}
p.printValue(f, verb, 0)
*/
default:
/*
// If the type is not simple, it might have methods.
if !p.handleMethods(verb) {
// Need to use reflection, since the type had no
// interface methods that could be used for formatting.
p.printValue(reflect.ValueOf(f), verb, 0)
}
*/
panic("todo: fmt.(*pp).printArg")
// If the type is not simple, it might have methods.
if !p.handleMethods(verb) {
// Need to use reflection, since the type had no
// interface methods that could be used for formatting.
p.printValue(reflect.ValueOf(f), verb, 0)
}
}
}