38 lines
790 B
Go
38 lines
790 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"io"
|
|
"os"
|
|
)
|
|
|
|
func main() {
|
|
var a string
|
|
// pair<statictype: string, value: "aceld">
|
|
a = "aceld"
|
|
|
|
// pair<type: string, value "aceld">
|
|
var allType interface{}
|
|
allType = a
|
|
str, _ := allType.(string)
|
|
fmt.Println(str)
|
|
|
|
// type: pair<type:*os.File, value: "/dev/tty"文件描述符>
|
|
tty, err := os.OpenFile("/dev/tty", os.O_RDWR, 0)
|
|
if err != nil {
|
|
fmt.Println("open file error", err)
|
|
return
|
|
}
|
|
|
|
// r: pair<type: , value: >
|
|
var r io.Reader
|
|
// r: pair<type:*os.File , value:"/dev/tty"文件描述符>
|
|
r = tty
|
|
// w: pair<type: , value: >
|
|
var w io.Writer
|
|
// w: pair<type:*os.File, value:"/dev/tty"文件描述符>
|
|
w = r.(io.Writer)
|
|
w.Write([]byte("HELLO THIS is A TEST!!!\n"))
|
|
r.(io.Writer).Write([]byte("HELLO THIS is A TEST, too!!!\n"))
|
|
}
|