forked from go/golangs_learn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
2.5 KiB
77 lines
2.5 KiB
package main
|
|
|
|
import (
|
|
"fmt"
|
|
)
|
|
|
|
func main() {
|
|
fmt.Printf("%d=%d\n", 1+1, 2)
|
|
fmt.Printf("%f=%f\n", 0.1+0.1, 0.2)
|
|
fmt.Printf("%f=%f\n", 0.1+0.2, 0.3)
|
|
fmt.Printf("%f=%f\n", 0.2+0.2, 0.4)
|
|
|
|
fmt.Printf("科学计数法:%f\n", 1e3)
|
|
|
|
var name float64 = 1.68
|
|
var name2 = 1.2
|
|
fmt.Printf("1 > %T, %#v, %f, %g, %v\n", name, name, name, name, name)
|
|
fmt.Printf("2 > %T, %#v, %f, %g, %v\n", name2, name2, name2, name2, name2)
|
|
|
|
name3 := name2 + name
|
|
fmt.Printf("+ > %T, %#v, %f, %g, %v\n", name3, name3, name3, name3, name3)
|
|
name4 := name2 - name
|
|
fmt.Printf("- > %T, %#v, %f, %g, %v\n", name4, name4, name4, name4, name4)
|
|
name5 := name2 * name
|
|
fmt.Printf("* > %T, %#v, %f, %g, %v\n", name5, name5, name5, name5, name5)
|
|
name6 := name2 / name
|
|
fmt.Printf("/ > %T, %#v, %f, %g, %v\n", name6, name6, name6, name6, name6)
|
|
name = name - 1
|
|
fmt.Printf("-1 > %T, %#v, %f, %g, %v\n", name, name, name, name, name)
|
|
name = name + 1
|
|
fmt.Printf("+1 > %T, %#v, %f, %g, %v\n", name, name, name, name, name)
|
|
name++
|
|
fmt.Printf("++ > %T, %#v, %f, %g, %v\n", name, name, name, name, name)
|
|
name--
|
|
fmt.Printf("-- > %T, %#v, %f, %g, %v\n", name, name, name, name, name)
|
|
|
|
sprintf := fmt.Sprintf("%f", name)
|
|
fmt.Printf("%s\n", sprintf)
|
|
|
|
name9 := 1.99999999999999
|
|
sprintf9 := fmt.Sprintf("%f", name9)
|
|
fmt.Printf("%s\n", sprintf9)
|
|
|
|
name9 = 1.9999999
|
|
sprintf9 = fmt.Sprintf("%f", name9)
|
|
fmt.Printf("%s\n", sprintf9)
|
|
|
|
name9 = 1.999999
|
|
sprintf9 = fmt.Sprintf("%f", name9)
|
|
fmt.Printf("%s\n", sprintf9)
|
|
|
|
fmt.Printf("%d\n", name == 1.680000)
|
|
fmt.Printf("%d\n", name == 1.6799999999999997)
|
|
|
|
/*
|
|
%v 按默认格式输出
|
|
%+v 在%v的基础上额外输出字段名
|
|
%#v 在%+v的基础上额外输出类型名
|
|
|
|
%% %字面量
|
|
%b 一个二进制整数,将一个整数格式转化为二进制的表达方式
|
|
%c 一个Unicode的字符
|
|
%d 十进制整数
|
|
%o 八进制整数
|
|
%x 小写的十六进制数值
|
|
%X 大写的十六进制数值
|
|
%U 一个Unicode表示法表示的整型码值
|
|
%s 输出以原生的UTF8字节表示的字符,如果console不支持utf8编码,则会乱码
|
|
%t 以true或者false的方式输出布尔值
|
|
%v 使用默认格式输出值,或者如果方法存在,则使用类性值的String()方法输出自定义值
|
|
%T 输出值的类型
|
|
|
|
%f 有小数而无指数 fmt.Printf("%f", 10.2) > 10.200000
|
|
%g 根据情况选择 %e 或者 %f 以产生更紧凑的(无末尾的0)输出 fmt.Printf("%f", 10.20) > 10.2
|
|
%G 根据情况选择 %E 或者 %f 以产生更紧凑的(无末尾的0)输出 fmt.Printf("%f", 10.20+2i) > 10.2+2i
|
|
*/
|
|
}
|
|
|