分享

Golang数据类型和fmt格式化打印

 小仙女本仙人 2022-12-01 发布于北京

bool类型

package main

import "fmt"

func main() {
//定义布尔类型变量
//var a bool //未初始化默认值为false
//
//a = true
a := false
//fmt.Println(a)
//fmt.Printf("%T\n", a)//bool类型
//格式化打印bool类型
//%t是一个占位符表示输出一个bool的值
fmt.Printf("%t\n", a)
}

 

byte类型

package main

import "fmt"

func main1101() {
//字符类型 是一个uint8的别名 其实是一个整型
//var ch byte = 'a'
//ASCII码 每个信息交换码
//0-31控制字符
//32-126 键盘显示的字符
//'a' 97 'A' 65 差值为32 '0' 48
//127 DEL键
//128-255 保留字符
//fmt.Println(ch)

//自动推导类型创建字符变量
ch := 'a'

//格式化打印字符
//%c 是一个占位符 表示输出一个字符
fmt.Printf("%c\n", ch-32);
}

func main() {

//通过键盘接收一个字符
var ch byte
//fmt.Scan(&ch)//97 ok a err
//通过格式化接收字符
fmt.Scanf("%c",&ch)

//fmt.Println(ch)
fmt.Printf("%c\n",ch)

}

 

int类型

package main

import "fmt"

func main1201() {
//var a int = 10
a := 10
fmt.Println(a)
//格式化打印整型数据
fmt.Printf("%d\n", a)
}

func main1202() {
//无符号整型 只能存储大于等于0的数据
var a uint = 10
fmt.Println(a)
}

func main() {
//当数据超出取值范围 会变成区间的最大值或最小值
//称为数据溢出
var a int8 = -128
a=a-1
//a=a+1
fmt.Println(a)
}

 

float 浮点型

float32 默认保留小数点7位
float64 默认保留小数点15位
%f 格式化打印 默认保留小数点6位,对第七位四舍五入
c := 3.14 自动推导类型(系统32位就是float32,64位则是float64)
package main

import "fmt"

func main() {
//浮点型数据相对精准 float32 有效小数位数为7位 float64 有效小数位数为15位
//单精度浮点型
var a float32 = 3.123
//双精度浮点型
var b float64 = 3.123


//自动推导类型
c := .123//float64

fmt.Println(a)
fmt.Println(b)
fmt.Println(c)

//%f 是一个占位符 表示输出浮点型数据 默认小数位数保留6位 会对第7位四舍五入
fmt.Printf("%.20f\n", a)
fmt.Printf("%.20f\n", b)
fmt.Printf("%.20f\n", c)

fmt.Printf("%T\n", c)
}

 

string字符换

//初始化
var str string = "sobot"
//自动推导类型
str := "你瞅啥"
package main

import "fmt"

func main() {
//字符串类型
//var str string = "你瞅啥"

//自动推导类型创建字符串
str := "你很ok"
//%s 表示输出一个字符串
fmt.Printf("%s\n",str)
//fmt.Println(str)
//计算字符串中字符个数 len(字符串)
// 一个汉字在go语言中 占三个字节
fmt.Println(len(str))
}

 

string 与 byte 的区别

1, string 末尾以'\0'结尾,编译器默认添加

2, 一个汉字占三个字符

fmt格式化打印

package main

import "fmt"

func main() {
a:=10
//%% 表示字面%
//fmt.Printf("35%%")
//%b 表示输出一个数据的二进制格式
fmt.Printf("%b\n",123)
//%o 表示输出一个数据的八进制格式
fmt.Printf("%o\n",123)
//%x %X 表示输出一个数据的十六进制格式
fmt.Printf("%x\n",123)
fmt.Printf("%X\n",123)

//%d 表示输出一个数据的十进制格式
fmt.Printf("%d\n",123)
//%f 表示浮点型数据输出
fmt.Printf("%f\n",123.456)
//%t 表示布尔类型数据输出
fmt.Printf("%t\n",true)
//%c 表示字符类型数据输出
fmt.Printf("%c\n",'a')
//%s 表示字符串类型数据输出
fmt.Printf("%s\n","hello")
//%T 表示输出数据类型
fmt.Printf("%T\n",a)

//%p 表示数据对应的内存地址 以十六进制形式输出
fmt.Printf("%p\n",&a)
//%q 表示带引号的字符串或字符切片
fmt.Printf("%q\n","hello")
//%e 科学计数法
fmt.Printf("%e\n",0.000000345)
//%v 默认接收格式
fmt.Printf("%v\n","hello")
}

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多