zoukankan      html  css  js  c++  java
  • Go语言基本数据类型(四)

    Go语言基本数据类型主要包含:bool,number,string

    布尔类型

    go中的布尔类型,只能是 true 和 false,例如:var b bool = true

    数字类型

    整型

    类型 描述
    uint8 无符号 8位整型 (0 到 255)
    uint16 无符号 16位整型 (0 到 65535)
    uint32 无符号 32位整型 (0 到 4294967295)
    uint64 无符号 64位整型 (0 到 18446744073709551615)
    int8 有符号 8位整型 (-128 到 127)
    int16 有符号 16位整型 (-32768 到 32767)
    int32 有符号 32位整型 (-2147483648 到 2147483647)
    int64 有符号 64位整型 (-9223372036854775808 到 9223372036854775807)

    特殊整型

    类型 描述
    uint 32位操作系统上就是uint32,64位操作系统上就是uint64
    int 32位操作系统上就是int32,64位操作系统上就是int64
    uintptr 无符号整型,用于存放一个指针

    浮点型

    Go语言支持两种浮点型数:float32 和 float64。这两种浮点型数据格式遵循 IEEE 754 标准:float32 的浮点数的最大范围约为3.4e38,可以使用常量定义:math.MaxFloat32。float64 的浮点数的最大范围约为1.8e308,可以使用常量定义:math.MaxFloat64。

    打印浮点型,可以使用占位符 %f :

    package main
    
    import "fmt"
    
    const p = 3.14159
    
    func main() {
        fmt.Printf("%.2f",p)  //3.14
    }

    复数

    go语言支持复数的编写,简单了解下:

    func main() {
        var c1 complex64 = 1+2i
        var c2 complex128 = 3+4i
        fmt.Println(c1,c2)
    }

    字符串

    go语言中字符串需使用双引号,即 "",单引号是表示一个单字符。

    s1 := "hello world"
    s2 := "你好"

    多行字符串

    可以使用 ` 号来实现多行字符串:

    func main() {
        var str = `
    这是第一行
    这是第二行
    这是第三行
    `
    fmt.Printf(str)
    }

    字符串常用操作

    求长度,len 方法:

    func main() {
        str:="hello world"
        fmt.Println(len(str))  // 11
    }

    拼接字符串,使用 + 或者 fmt.Sprintf:

    func main() {
    s1:="hello "
    s2:="world"
    s3:=s1+s2
    fmt.Println(s3) // hello world

    s4:=fmt.Sprintf("%s-----%s",s1,s2)
    fmt.Println(s4) // hello -----world
    }

    分割字符串,strings.Split:

    func main() {
        str:="hello"
        a:=strings.Split(str,"")
        fmt.Println(a) // [h e l l o]
    }

    是否包含,strings.Contains:

    func main() {
        str:="hello"
        a:=strings.Contains(str,"h")
        fmt.Println(a) // true
    }

    子串出现的位置,strings.Index 和 strings.LastIndex:

    func main() {
    str:="hello"
    a:=strings.Index(str,"l") // 第一次出现的位置
    b:=strings.LastIndex(str,"l") // 最后一次出现的位置
    fmt.Println(a,b) // 2 3
    }

    前缀和后缀的判断,strings.HasPrefix 和 strings.HasSuffix:

    func main() {
        str:="hello 世界"
        a:=strings.HasPrefix(str,"hello") // 是否以"hello"开头
        fmt.Println(a) // true
        b:=strings.HasSuffix(str,"界") // 是否以"界"结尾
        fmt.Println(b) // true
    }

    更多操作请参考 strings包。

  • 相关阅读:
    CPP流类库与输入输出
    STL学习之mismatch();
    谷歌浏览器现在点击任何文本都会出现光标
    jQuery删除元素remove和和empty的区别
    jQuery中的鼠标离开事件mouseout和mouseleave区别
    java类中的布尔(boolean&Boolean)类型字段要注意get方法和字段的命名
    Navicat_Premium_v15 激活
    navicat注册过期修改方法
    ClassNotFoundException找不到类异常的原因package 路径eclipse自动给我在路径前面加了一个java变成了java.com.XXX
    我保存一份博客园样式代码
  • 原文地址:https://www.cnblogs.com/wjaaron/p/11444732.html
Copyright © 2011-2022 走看看