• GO的整型


    整型


    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 
    ", a) // 10 %d 转为10进制
    fmt.Printf("%b 
    ", a) // 1010 %b转为2进制
    fmt.Printf("%o 
    ", a) //12 10进制转12进制
    fmt.Printf("%x 
    ", a) //12 10进制转16进制
    
    }
    浮点型和复数
    func main(){
    fmt.Printf("%f
    ", math.Pi) //3.141593
    fmt.Printf("%.2f
    ", 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 
    ",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))


      

  • 相关阅读:
    【服务器数据恢复】StorNext文件系统数据恢复案例
    【数据库数据恢复】ASM磁盘组掉线,ASM实例不能mount的Oracle数据库数据恢复案例
    【服务器数据恢复】硬盘坏道和不稳定扇区导致服务运行过程中器崩溃的数据恢复案例
    【服务器数据恢复】重装系统导致XFS文件系统分区无法访问的数据恢复
    家中电脑的Vscode配置
    编码 乱码 解析 识别
    重构代码架构使具有良好扩展性
    第二单元总结性博客作业
    C语言实现顺序栈
    OpenGL 学习,入门程序
  • 原文地址:https://www.cnblogs.com/xzqpy/p/12932583.html
Copyright © 2020-2023  润新知