go语言的数据类型有哪些

go 支持的数据类型

bool 类型

数字类型

有符号整型

无符号整型

浮点型

复数类型

//bool 类型
//bool 表示布尔值,值为true 或者false

func booltest()  {
    x :=true
    y :=false
    fmt.Println("x",x,"y",y)
}

输出:x true y false

数字类型分为:有符号整型、无符号整型、

有符号整型
int 8 表示8位 有符号整型
范围 -128~127

int 16 表示16位有符号整型
说值范围 -32768~32767

int32 表示32 位有符号整型
范围 -2147483648~2147483647

int64 表示64位有符号整型
-9223372036854775808~9223372036854775807

int 根据不同底层平台,表示32位或者64位整型 ,除非对整型大小有特定对的需求
在32位系统是32位,64 位系统是64位

无符号整型

unit8:
数值范围:0-255

unit16:
数值范围:0-65535

unit32
数值范围:0~4294967295

unit64:
数值范围:0~18446744073709551615

unit:根据不同的底层平台,32 位系统是32位,64 位系统是64位

var x1 int =67
    y1 :=88
    fmt.Println("value of x1 is ",x1 ,"y1 is ",y1)

    var x2 int = 110
    y2 :=78
    fmt.Println("x2 is", x2,"y2 is ",y2)
    // go 的格式化输出 ,常用的
    //  %T 输出 Go 语言语法格式的类型和值
    // %d  整型以十进制方式显示
    // %v  按值的本来值输出 
    fmt.Printf("type os x2 is %T,size of x2 is %d",x2,unsafe.Sizeof(x2))
    fmt.Printf("\ntype os y2 is %T,size of y2 is %d",y2,unsafe.Sizeof(y2))

    输出:
    value of x1 is  67 y1 is  88
   x2 is 110 y2 is  78
 type os x2 is int,size of x2 is 8  # 说明平台是64位操作系统
 type os y2 is int,size of y2 is 8

// 浮点型
float32: 32 位浮点型
float64: 64位浮点数

  x3 ,y3 := 18.44, 9.43
    fmt.Printf("type of x3 %T y3 %T\n",x3,y3)
    sum := x3 + y3
    jian := x3 - y3 
    fmt.Println("sum is ",sum,"xiang jian is ",jian)
输出:
type of x3 float64 y3 float64
sum is  27.87 xiang jian is  9.010000000000002

字符串类型

one :="zhangsan"
    two :="lisi"
    three :="wangwu"
    all_name := one + two + three
    fmt.Println("all nam connect is",all_name)
    输出
all nam connect is zhangsanlisiwangwu
}

复数类型

complex64:实部和虚部都是 float32 类型的的复数。
complex128:实部和虚部都是 float64 类型的的复数。

类型转换

go 语言没有自动类型提升或者类型转换

a :=32
b :=45.3
sum := a + b
fmt.Println(sum)

输出报错:
 bao cuo src/20190104/类型1.go:128:11: invalid operation: a + b (mismatched types int and float64)

类型转换

  a1 :=32
    b1 :=45.3
    sum := a1 + int(b1)
    fmt.Println(sum)
    输出 77 

原创文章,作者:ODFCI,如若转载,请注明出处:https://www.beidanyezhu.com/a/26098.html

(0)
ODFCI的头像ODFCI
上一篇 2024-12-17 14:10:17
下一篇 2025-01-01 17:24:57

相关推荐

  • go语言中的反射

    反射是什么? 反射是一种计算机处理方式。有程序可以访问、检测和修改它本身状态或行为的这种能力。能提供封装程序集、类型的对象。(程序集包含模块,而模块包含类型,类型又包含成员。)Go…

  • go语言中的byte是什么

    字符串中的每一个元素叫做“字符”,在遍历或者单个获取字符串元素时可以获得字符。 Go语言的字符有以下两种: 一种是 uint8 类型,或者叫 byte 型,代表了 ASCII 码的…

  • go语言适合开发什么

    其实Go语言主要用作服务器端开发,其定位是用来开发“大型软件”的,适合于需要很多程序员一起开发,并且开发周期较长的大型软件和支持云计算的网络服务。 Go语言融合了传统编译型语言的高…

  • go语言中的nil是什么

    大家都清楚,当你声明了一个变量 但却还并木优赋值时,golang中会自动给你的变量类型给一个对应的默认零值。 这是每种类型对应的零值: bool -> false numbe…

  • go语言使用json隐藏字段的方法

    使用场景:在 go 中给 API 调用者响应 json 数据。 1. 有些字段不暴露给用户。 2. 有些字段是根据用户的级别控制是否有这些数据。 Id字段不暴露给用户,则使用 `j…

    2025-01-03
  • go语言中可以把包名去掉吗

    Golang不可以把包名去掉,包名是一种类似命名空间的管理和组织代码的方式,而Golang的包有两种类型,一种是“main”包,该包的可以有唯一的一个“main”函数,这个函数也是…

  • go语言支持泛型吗

    Golang团队认为在类型系统和运行时的复杂性花费太大,还没找到可以和这个复杂性相抵的良好设计。 内置的map和slice其实都有泛型的味道,加上可以用interface{}来构造…

  • go语言适合开发web吗

    go语言适合开发web吗?相信大部分人都不太了解,今天小编为了让大家更加了解,给大家总结了以下内容,跟随小编一起来看看吧。 网络编程方面,Go语言广泛应用于 Web 应用、API …

  • 如何设计go语言中的log

    Go语言是谷歌2009发布的第二款开源编程语言。Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。 …

  • go语言中make和new的区别是什么

    make、new make用于内建类型(map、slice 和channel)的内存分配,golang分配内存有一个make函数,该函数第一个参数是类型,第二个参数是分配的空间,第…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

分享本页
返回顶部