1. 程式人生 > >Go語言中Printf和Println

Go語言中Printf和Println

 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()
}