Print 에서 format
%d, %x, %v, %+v, %#v
package main
import "fmt"
func main() {
var x uint64 = 1<<64 - 1
fmt.Printf("%d %x; %d %x\n", x, x, int64(x), int64(x))
var timeZone = map[string] int {
"UTC" : 1,
"EST" : 2,
"CST" : 3,
"MSt" : 4,
"PST" : 5,
}
type T struct {
a int
b float64
c string
}
t := &T{ 7, -2.35, "abc"}
fmt.Printf( "%v \n", t)
fmt.Printf( "%+v \n", t)
fmt.Printf( "%#v \n", t)
fmt.Printf( "%#v \n", timeZone)
}
아.. Print
함수이름이 C 에서 보았던것과 비슷하다.
package main
import "fmt"
import "os"
func main() {
fmt.Printf( "Hello %d\n", 23)
fmt.Fprint( os.Stdout, "Hello ", 23, "\n")
fmt.Println( "Hello", 23)
var str string = fmt.Sprint("Hello ", 23)
fmt.Println( str)
}
map 이 built-in type 이다.
map 을 한번 쳐다보자.
package main
import "fmt"
func main() {
var timeZone = map[string] int {
"UTC" : 1,
"EST" : 2,
"CST" : 3,
"MSt" : 4,
"PST" : 5,
}
fmt.Println( timeZone)
fmt.Println( timeZone["EST"])
var num int
var ok bool
var tz string
tz = "CST"
num, ok = timeZone[tz]
fmt.Println( num, ok)
// blank identifier
_, ok = timeZone[tz]
tz = "없어요"
// "comma ok" idiom
if num, ok = timeZone[tz]; ok {
fmt.Println( num)
} else
{
fmt.Println( "알수없는 time zone:", tz)
}
delete( timeZone, "PST")
fmt.Println( timeZone)
}