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

bool类型

package main
​
import "fmt"
​
func main() {
    //定义布尔类型变量
    //var a bool //未初始化默认值为false
    //
    //a = true
    a := false
    //fmt.Println(a)
    //fmt.Printf("%T", a)//bool类型
    //格式化打印bool类型
    //%t是一个占位符表示输出一个bool的值
    fmt.Printf("%t", 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", ch-32);
}
​
func main() {
​
    //通过键盘接收一个字符
    var ch byte
    //fmt.Scan(&ch)//97  ok  a  err
    //通过格式化接收字符
    fmt.Scanf("%c",&ch)
​
    //fmt.Println(ch)
    fmt.Printf("%c",ch)
​
}

int类型

package main
​
import "fmt"
​
func main1201() {
    //var a int = 10
    a := 10
    fmt.Println(a)
    //格式化打印整型数据
    fmt.Printf("%d", 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", a)
    fmt.Printf("%.20f", b)
    fmt.Printf("%.20f", c)
​
    fmt.Printf("%T", c)
}
​

string字符换

//初始化
var str string = "sobot"
//自动推导类型
str := "你瞅啥"
package main
​
import "fmt"
​
func main() {
    //字符串类型
    //var str string = "你瞅啥"
​
    //自动推导类型创建字符串
    str := "你很ok"
    //%s 表示输出一个字符串
    fmt.Printf("%s",str)
    //fmt.Println(str)
    //计算字符串中字符个数 len(字符串)
    // 一个汉字在go语言中 占三个字节
    fmt.Println(len(str))
}
​

string 与 byte 的区别

1, string 末尾以’ ‘结尾,编译器默认添加

2, 一个汉字占三个字符

fmt格式化打印

package main
​
import "fmt"
​
func main() {
    a:=10
    //%% 表示字面%
    //fmt.Printf("35%%")
    //%b 表示输出一个数据的二进制格式
    fmt.Printf("%b",123)
    //%o 表示输出一个数据的八进制格式
    fmt.Printf("%o",123)
    //%x %X 表示输出一个数据的十六进制格式
    fmt.Printf("%x",123)
    fmt.Printf("%X",123)
​
    //%d 表示输出一个数据的十进制格式
    fmt.Printf("%d",123)
    //%f 表示浮点型数据输出
    fmt.Printf("%f",123.456)
    //%t 表示布尔类型数据输出
    fmt.Printf("%t",true)
    //%c 表示字符类型数据输出
    fmt.Printf("%c",'a')
    //%s 表示字符串类型数据输出
    fmt.Printf("%s","hello")
    //%T 表示输出数据类型
    fmt.Printf("%T",a)
​
    //%p 表示数据对应的内存地址  以十六进制形式输出
    fmt.Printf("%p",&a)
    //%q 表示带引号的字符串或字符切片
    fmt.Printf("%q","hello")
    //%e 科学计数法
    fmt.Printf("%e",0.000000345)
    //%v 默认接收格式
    fmt.Printf("%v","hello")
}
​

文章来源于互联网:Golang数据类型和fmt格式化打印

golang后端技术

Golang引入泛型:Go将Interface{}替换为“Any”

2022-6-15 2:09:41

Python后端技术

一日一技:用Python做游戏有多简单

2022-6-19 2:29:21

搜索