整型


uint 没有符号 也就是说没有 负号

int 有符号 可以是负数

 

在涉及到二进制传输、读写文件的结构描述时,为了保持文件的结构不会受到不同编译目标平台字节长度的影响,不要使用int和 uint

整型

package main

import "fmt"

func main(){
v := 0o377 //8进制
println(v)//自动转换成255
v2 := 0b00101101 //2进制
println(v2) //自动转换成 45
v3 := 0x1p-2
println(v3)//16进制 1 除以 22=1/4=0.25

var a int = 0xff //自动定义10进制
fmt.Printf("%d \n", a) // 10 %d 转为10进制
fmt.Printf("%b \n", a) // 1010 %b转为2进制
fmt.Printf("%o \n", a) //12 10进制转12进制
fmt.Printf("%x \n", a) //12 10进制转16进制

}
浮点型和复数
func main(){
fmt.Printf("%f\n", math.Pi) //3.141593
fmt.Printf("%.2f\n", math.Pi) //保留两位 3.14
var c1 complex64
c1 = 1 + 2i
var c2 complex128
c2 = 2 + 3i
fmt.Println(c1)//(1+2i)
fmt.Println(c2)//(2+3i)

}  
布尔值
1.布尔型就是布尔 无法参与数值运算,也无法与其他类型进行转换

 

func main(){
var x bool
fmt.Println(x)
}
字符串(多行,字符串的操作)
1.字符串用双引号(“”) 2.字符表示单引(‘ )

func main(){
//多行
x :=`sada
sadas`
fmt.Println(x)

x2 := "123"
x3 := "456"
//字符串格式化
xy:=fmt.Sprintf("您好啊 %s 大哥您的编号:%s",x2,x3) //格式化字符串
fmt.Println(xy) //您好啊 123 大哥您的编号:456
//字符串切割
xy2:=strings.Split("您好啊 %s 大哥您的编号:%s","大哥") //格式化字符串
fmt.Println(xy2,len(xy2)) //[您好啊 %s 您的编号:%s] 2

//是否包含
is_contains:=strings.Contains("您好","您") // strings.contains(string,substr)判断是否包含
fmt.Println(is_contains) //true
//前缀和后缀判断
is_qianzhui1:=strings.HasPrefix("x123y","x")
fmt.Println(is_qianzhui1) //true
is_qianzhui2:=strings.HasPrefix("x123y","y")
fmt.Println(is_qianzhui2) //false
is_houzhui1:=strings.HasPrefix("x123y","x")
fmt.Println(is_houzhui1)//true
is_houzhui2:=strings.HasPrefix("x123y","y")
fmt.Println(is_houzhui2)//false

//子串出现的位置
weizhi:=strings.Index("123123","2")
fmt.Println(weizhi) //1 第一次的未知
zuihou_weizhi:=strings.LastIndex("123123","2")
fmt.Println(zuihou_weizhi) //4 最后一次的未知

 

} 

字符

uint8类型,或者叫 byte 型,代表了ASCII码的一个字符。
rune类型,代表一个 UTF-8字符。

var name_str = "xzq谢志强" // 默认是btys类型
fmt.Println(len(name_str))  //12个字节


for _,val :=range name_str {  //循环的是rune类型 代表utf8字符
		fmt.Printf("循环出来的字符串值 %v \n",val)  //现在是ASCII码的代码  %v不做处理循环什么就是什么  %c ASCII码的代码对应值
	}    //6次

修改字符串

//修改字符串
s1 := "big"
x1 :=[]byte(s1)  //需要转换成byte
x1[0] ='p'
fmt.Println(string(x1))

中文的需要转为rune

//中文转换
s2 := "白萝卜"
runeS2 := []rune(s2)
runeS2[0] = '红'
fmt.Println(string(runeS2))

 

数据类型转换

fmt.Println(int64.11))

 


  

 

posted on 2020-05-21 18:35  谢Rain  阅读(177)  评论(0编辑  收藏  举报