首页 > 其他分享 >第十二篇: go数据类型

第十二篇: go数据类型

时间:2022-10-03 03:55:13浏览次数:56  
标签:第十二 v1 数据类型 字符串 v2 整型 str 类型 go

数据类型

1.分类

Go语言内置以下这些基础类型:

类型 名称 长度 零值 说明
bool 布尔类型 1 false 其值不为真即为家,不可以用数字代表true或false
byte 字节型 1 0 uint8别名
rune 字符类型 4 0 专用于存储unicode编码,等价于uint32
int, uint 整型 4或8 0 32位或64位
int8, uint8 整型 1 0 -128 ~ 127, 0 ~ 255
int16, uint16 整型 2 0 -32768 ~ 32767, 0 ~ 65535
int32, uint32 整型 4 0 -21亿~ 21亿, 0 ~ 42亿
int64, uint64 整型 8 0
float32 浮点型 4 0.0 小数位精确到7位
float64 浮点型 8 0.0 小数位精确到15位
complex64 复数类型 8
complex128 复数类型 16
uintptr 整型 4或8 ⾜以存储指针的uint32或uint64整数
string 字符串 "" utf-8字符串

2.布尔类型

var v1 bool
v1 = true
v2 := (1 == 2) // v2也会被推导为bool类型

//布尔类型不能接受其他类型的赋值,不支持自动或强制的类型转换
var b bool
b = 1 // err, 编译错误
b = bool(1) // err, 编译错误

3.整型

varv1int32
v1=123
v2:=64//v1将会被自动推导为int类型

4.浮点型

 var f1 float32
    f1 = 12
    f2 := 12.0 // 如果不加小数点, fvalue2会被推导为整型而不是浮点型,float64

5.字符类型

在Go语言中支持两个字符类型,一个是byte(实际上是uint8的别名),代表utf-8字符串的单个字节的值;另一个是rune,代表单个unicode字符。

package main

import (
    "fmt"
)

func main() {
    var ch1, ch2, ch3 byte
    ch1 = 'a'  //字符赋值
    ch2 = 97   //字符的ascii码赋值
    ch3 = '\n' //转义字符
    fmt.Printf("ch1 = %c, ch2 = %c, %c", ch1, ch2, ch3)
}

6.字符串

在Go语言中,字符串也是一种基本类型:

    var str string                                    // 声明一个字符串变量
    str = "abc"                                       // 字符串赋值
    ch := str[0]                                      // 取字符串的第一个字符
    fmt.Printf("str = %s, len = %d\n", str, len(str)) //内置的函数len()来取字符串的长度
    fmt.Printf("str[0] = %c, ch = %c\n", str[0], ch)

    //`(反引号)括起的字符串为Raw字符串,即字符串在代码中的形式就是打印时的形式,它没有字符转义,换行也将原样输出。
    str2 := `hello
    mike \n \r测试
    `
    fmt.Println("str2 = ", str2)
    /*
        str2 =  hello
              mike \n \r测试
    */

7.复数类型

复数实际上由两个实数(在计算机中用浮点数表示)构成,一个表示实部(real),一个表示虚部(imag)。

    var v1 complex64 // 由2个float32构成的复数类型
    v1 = 3.2 + 12i
    v2 := 3.2 + 12i        // v2是complex128类型
    v3 := complex(3.2, 12) // v3结果同v2

    fmt.Println(v1, v2, v3)
    //内置函数real(v1)获得该复数的实部
    //通过imag(v1)获得该复数的虚部
    fmt.Println(real(v1), imag(v1))

标签:第十二,v1,数据类型,字符串,v2,整型,str,类型,go
From: https://www.cnblogs.com/l-uz/p/16749906.html

相关文章

  • 第十一篇: GO-数组、切片、Maps、sync.map并发安全map
    数组1、定义数组packagemainimport"fmt"funcmain(){ //定义了一个大小为3的int类型数组 //数组在定义阶段,大小和类型就固定了 vara[3]int//只定义,没有......
  • 使用bt面板中Python项目管理部署Django项目找不到static采坑记
    工作需要,准备在用django做一个小项目,本地测试没有问题,但是使用bt的工具“python项目管理器”部署到服务器上,找不到static文件(python项目管理器应用可以参考https://www.bt.......
  • Go的Error、Log.Fatal和Defer
    Go的Error、Log.Fatal和Defer1.Error1.errors.New创建errow对象2.fmt.Errorf用字符串创建error对象。3.自定义2.Log.Fatal和Panic的区别funcfileSize(filenamestring)......
  • Python+Django+Nginx的从0到1的个人网站搭建
    前言本文以实现最终结果为导向,对知识点不做过多阐述。流程中有任何问题请及时面向搜索程序或他人解决问题。一、准备工作Python的下载Python下载地址不会安装的......
  • MongoDB12-MongoDB相关命令
    1、mongod命令mongod命令的帮助说明]#mongod--helpOptions:--networkMessageCompressorsarg(=snappy,zstd,zlib)......
  • go语言占位符
    go语言中的占位符还是比较多的,所以特地记录以下方便查阅一般:%v相应值的默认格式。在打印结构体时,“加号”标记(%+v)会添加字段名%#v相应值的Go语法表示%T相应值......
  • 数据类型转换
    1.为变量赋值时,赋值数据类型和变量的类型应为一致。如果不一样系统则会转变变量的类型然后再赋值,这叫自动类型转换。2当变量类型时int类型时a.如果超出范围(21亿)则会随机赋值......
  • 【django学习-18】数据表操作之多表查询
    在日常开发只,常常需要对多张数据表同时进行数据查询;多表查询需要在表建立的时候建立表关系才能够实现,下面还是以之前的模型为例。下面是数据表数据book表的外键字段p......
  • 多容器部署django项目 上传图片出现 [Errno 13] Permission denied: ‘/var/www/mysit
    @目录问题原因解决办法一、进入容器添加权限二、在Dockerfile文件中添加上代码,重新生成镜像并启动容器问题原因首先,这是用docker多容器部署django项目的情况下发现的一个......
  • #yyds干货盘点#【愚公系列】2022年10月 Go教学课程 037-面向对象综合案例-微博
    一、面向对象综合案例-微博微博(Micro-blog)是指一种基于用户关系信息分享、传播以及获取的通过关注机制分享简短实时信息的广播式的社交媒体、网络平台。微博允许用户通过......