Go语言简单数据类型

数字类型

  • 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)

  • byte类似于uint8,rune类似于uint32,uintptr无符号整型,用于存放一个指针

package main

import "fmt"

func main (){
    // 整型
    n1 := 10  //十进制
    fmt.Printf("%b\n",n1) // 二进制 1010
    fmt.Printf("%o\n",n1) // 八进制  12
    fmt.Printf("%x\n",n1) // 十六进制  a
    n2 := 010   //十进制
    fmt.Printf("%d\n",n2)    // 8
    n3 := 0x10   //十六进制
    fmt.Printf("%d\n",n3)   //16
    //查看变量的数据类型
    fmt.Printf("%T\n",n1)   //int
}

浮点型

  • float32 IEEE-754 32位浮点型数

  • float64 IEEE-754 64位浮点型数

  • complex64 32 位实数和虚数

  • complex128 64 位实数和虚数

package main 

import "fmt"
import "math"

func main (){
    fmt.Println(math.MaxFloat32) //3.4028234663852886e+38
    fmt.Println(math.MaxFloat64) //1.7976931348623157e+308

    // 默认为float64
    f1 := 3.1234
    fmt.Printf("%T\n",f1)  //float64
    // 显示声明float32
    f2 := float32(1.1121)   // float32
    fmt.Printf("%T\n",f2)

    // 复数
    var c1 complex64
    c1 = 1 + 2i
    fmt.Println(c1)
    fmt.Printf("%T\n",c1)  // complex64
}

布尔型

布尔型的值只可以是常量 true 或者 false,默认为false,Go语言中不允许将整型强制转换成布尔型,布尔型变量无法参与运算,也无法与其他类型转换。

字符串

字符串就是一串固定长度的字符连接起来的字符序列。Go 的字符串是由单个字节连接起来的。Go 语言的字符串的字节使用 UTF-8 编码标识 Unicode 文本。

package main

import "fmt"
import "strings"

func main() {
    // 字符串用双引号表示  单引号表示字符 ``表示多行字符串
    s := `
        锄禾日当午,
        汗滴禾下土。
        谁知盘中餐,
        粒粒皆辛苦。
    `
    fmt.Println(s)
    // s2 := "jerry"
    // 字符串的常用操作
    // fmt.Println(len(s2))
    // name1 := "jack"
    // name2 := "rose "
    // 字符串拼接1
    // name3 := name1 + name2
    // fmt.Printf("%s", name3)
    // 字符串拼接2
    // newName := fmt.Sprintf("%s,%s",name1,name2)
    // fmt.Println(newName)
    str := "a,d,c,w,e,a"
    retStr := strings.Split(str, ",")
    fmt.Println(retStr) // [a d c w e]
    fmt.Println(strings.Join(retStr, "+"))  //a+d+c+w+e+a
    // fmt.Printf("%T\n",retStr)
    // 包含
    // fmt.Println(strings.Contains(str,"a"))  //true

    fmt.Println(strings.HasSuffix(str, "e"))  //true
    fmt.Println(strings.HasSuffix(str, "ee")) //false
    fmt.Println(strings.HasPrefix(str, "a"))  //true
    fmt.Println(strings.HasPrefix(str, "aa")) //false
    fmt.Println(strings.Index(str, "a"))      //0
    fmt.Println(strings.LastIndex(str, "a"))  //10
    ss := "hello 世界"
    for _,c := range(ss){
        fmt.Printf("%c\n",c)
    }

    // 字符串的修改
    s1 := "jerry"
    // 把字符串强制转换成rune切片
    newS1 := []rune(s1)
    newS1[1] = 'a'
    // 把切片转换成字符串
    fmt.Println(string(newS1))  //jarry
}

fmt总结

package main

import "fmt"

func main() {
    n := 10
    s := "hello"
    fmt.Printf("%d\n", n) // 10
    fmt.Printf("%b\n", n) //1010
    fmt.Printf("%v\n", n) // 10
    fmt.Printf("%o\n", n) //12
    fmt.Printf("%x\n", n) // a
    fmt.Printf("%T\n", n) // int

    fmt.Printf("%T\n", s)  // string
    fmt.Printf("%v\n", s)  //hello
    fmt.Printf("%#v\n", s) // "hello"
    fmt.Printf("%s\n", s)  // hello
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 数据类型: 数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,可...
    SUN_LEON阅读 516评论 0 0
  • GO语言中的数据类型 数据类型的出现是为了把数据分成所需内存大小不同的数据,不同类型的数据占用的内存空间是不一样的...
    小孩真笨阅读 353评论 0 0
  • 内容参考雨痕的《Go语言学习笔记》Go菜鸟教程 数据类型 1、变量 Go是静态类型语言,变量总是有固定的数据类型。...
    懵懂时光很美好阅读 491评论 0 1
  • 在 Go 编程语言中,数据类型用于声明函数和变量。数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候...
    俊先生_victor阅读 401评论 0 0
  • 并不是所有的鲜花都能代表爱,只有玫瑰做到了;并不是所有的山峰都能代表伟大,只有珠穆琅玛做到了;并不是所有...
    暖阳西子阅读 253评论 0 0