tinygo/src/runtime/print.go
2018-04-25 20:06:08 +02:00

50 строки
736 Б
Go

package runtime
func printstring(s string) {
for i := 0; i < len(s); i++ {
putchar(s[i])
}
}
func printuint(n uint) {
// TODO: don't recurse, but still be compact (and don't divide/mod
// more than necessary).
prevdigits := n / 10
if prevdigits != 0 {
printuint(prevdigits)
}
putchar(byte((n % 10) + '0'))
}
func printint(n int) {
// Print integer in signed big-endian base-10 notation, for humans to
// read.
if n < 0 {
putchar('-')
n = -n
}
printuint(uint(n))
}
func printbyte(c uint8) {
putchar(c)
}
func printspace() {
putchar(' ')
}
func printnl() {
putchar('\r')
putchar('\n')
}
func printitf(msg interface{}) {
switch msg := msg.(type) {
case string:
print(msg)
default:
print("???")
}
}