Obter o tamanho do terminal em Go

Como obter tamanho tty com Go lang? Eu estou tentando fazer isso com a execuçãostty size comando, mas eu não posso criar o código certo.

package main

import (
  "os/exec"
  "fmt"
  "log"
)

func main() {
  out, err := exec.Command("stty", "size").Output()
  fmt.Printf("out: %#v\n", out)
  fmt.Printf("err: %#v\n", err)
  if err != nil {
    log.Fatal(err)
  }
}

Saída:

out: []byte{}
err: &exec.ExitError{ProcessState:(*os.ProcessState)(0xc200066520)}
2013/05/16 02:35:57 exit status 1
exit status 1

Acho que isso acontece porque o Go gera um processo não relacionado ao atual tty, com o qual está funcionando. Como posso relacionar o comando ao terminal atual para obter seu tamanho?

questionAnswers(4)

yourAnswerToTheQuestion