首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >fmt自动缩进吗?

fmt自动缩进吗?
EN

Stack Overflow用户
提问于 2018-12-18 21:54:30
回答 1查看 707关注 0票数 3

当我执行fmt.Printf("...\n")时,它不会将光标移动到第0列,因此下一行将缩进:

代码语言:javascript
复制
13
  13
    13
      13
        13
          13
            113 ('q')

这是我的代码:

代码语言:javascript
复制
package main

import (
    "bufio"
    "fmt"
    "os"
    "unicode"

    "golang.org/x/crypto/ssh/terminal"
)

func main() {
    oldState, err := terminal.MakeRaw(0)
    if err != nil {
        panic(err)
    }
    defer terminal.Restore(0, oldState)

    reader := bufio.NewReader(os.Stdin)

    var c rune
    for err == nil {
        if c == 'q' {
            break
        }

        c, _, err = reader.ReadRune()

        if unicode.IsControl(c) {
            fmt.Printf("%d\n", c)
        } else {
            fmt.Printf("%d ('%c')\n", c, c)
        }
    }

    if err != nil {
        panic(err)
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-18 22:22:05

注释:您将终端置于原始模式,这不需要回车才能将光标放在行的开头吗?- JimB

例如,

terminal.go

代码语言:javascript
复制
package main

import (
    "bufio"
    "fmt"
    "os"
    "unicode"

    "golang.org/x/crypto/ssh/terminal"
)

func main() {
    oldState, err := terminal.MakeRaw(0)
    if err != nil {
        panic(err)
    }
    defer terminal.Restore(0, oldState)

    reader := bufio.NewReader(os.Stdin)

    var c rune
    for err == nil {
        if c == 'q' {
            break
        }

        c, _, err = reader.ReadRune()

        if unicode.IsControl(c) {
            fmt.Printf("%d\r\n", c)
        } else {
            fmt.Printf("%d ('%c')\r\n", c, c)
        }
    }

    if err != nil {
        panic(err)
    }
}

输出:

代码语言:javascript
复制
$ go run terminal.go
13
13
13
13
13
113 ('q')
$ 
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53841662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档