1. Printf 如果是空字符串,输出了空字符串的 双引号 ""
例如
func variableZeroValue(){
var a int
var s string
fmt.Printf("%d %q\n", a, s)
}
输出结果是
2. Println 如果是空字符串,不输出空字符串的 双引号 "",而且也不能使用格式输出符 %d %q
func variableZeroValue(){
var a int
var s string
fmt.Println("%d %q\n", a, s)
}
输出结果是
完整源代码如下:
package main
import (
"fmt"
"math"
"math/cmplx"
)
var (aa = 3
ss= "kkk"
bb= true
)
func variableZeroValue(){
var a int
var s string
fmt.Printf("%d %q\n", a, s)
}
func variableInitialValue(){
var a,b int = 3, 4
var s string = "abc"
fmt.Println(a, b, s)
}
func variableTypeDeduction(){
var a,b, c, s = 3, 4, true, "def"
fmt.Println(a, b, c, s)
}
func variableShorter(){
a,b, c, s := 3, 4, true, "def"
b = 5
fmt.Println(a, b, c, s)
}
func euler(){
//c := 3+4i
//fmt.Println(cmplx.Abs(c))
fmt.Printf("%.3f\n",
cmplx.Exp(1i * math.Pi) + 1)
//cmplx.Pow(math.E, 1i * math.Pi) + 1 )
}
func triangle(){
var a,b int = 3, 4
var c int
c = int (math.Sqrt(float64(a*a + b*b)))
fmt.Println(c)
}
func consts(){
const (
filename ="abc.txt"
a,b = 3, 4
)
var c int
c = int (math.Sqrt((a*a + b*b)))
fmt.Println(filename, c)
}
func enums(){
const (
cpp = iota
_
python
golang
javascript
)
//
const (
b = 1 << (10*iota) //自增值的枚举类型
kb
mb
gb
tb
pb
)
fmt.Println(b, kb, mb, gb, tb, pb)
}
func main() {
fmt.Print("hello world\n")
variableZeroValue()
variableInitialValue()
variableTypeDeduction()
variableShorter()
fmt.Println(aa, ss, bb)
euler()
triangle()
consts()
enums()
}