美文网首页
go 第二篇(变量声明、数据类型)

go 第二篇(变量声明、数据类型)

作者: 原来哥哥是万家灯火 | 来源:发表于2022-05-23 22:18 被阅读0次

1、变量声明
go是一种静态语言,意味着变量的类型固定,这个类型需要在声明的时候指明。
声明变量有两个关键词var const,const是声明一个常量。
var x int 声明x,其类型是int
var x int = 9 声明x,其类型是int,并初始化值为9
如果声明并初始化,因为初始化值有类型,所以变量类型可以省略。
var x = 9
如果变量未初始化,则其值是零值。每种类型的变量都有自己的零值。
可以一次声明并初始化多个变量

var (
  name = "张三",
  age = 18,
  isAdult = true
)

const和var一样,只是const声明的是常量

除了用const和var,还可以用短变量声明操作符:=,声明并初始化变量x := 9
这种方式只能声明一个局部变量,只能在函数里这样做

func main() {
    x := 9
}

golang里没有变量提升,使用一个变量前必须先声明。

go匿名变量,go里面的函数,是可以返回多个值的,有时候不需要一些值,可以用一个匿名变量接收。

func queryUserName() (string, err) {
  return "zs",  errors.New("err")
}

name, _ := queryUserName() // 不关心err,所以用匿名变量忽略它

变量作用域,有全局变量,局部变量。一个变量声明了,就必须要使用,不然是会报错的。短变量无法改写一个全部变量。

var age = 99

func main() {
    f()
    fmt.Println("🍌", age)
}

func f()  {
    age := 88
    fmt.Println("🍎", age)
}

2、数据类型
布尔类型
bool var x bool 零值是false

整数类型
int8、int16、int32、int64、int
uint8、uint16、uint32、uint64、uint
int8是带符号的8位整数,范围是 -128~127
uint8是不带符号的8位整数,范围是0~255
int和uint的位数都是一个机器字长,64位系统就是64位,32位就是32

浮点数类型
float32
float64

字符串
string 字面量只能用""``,不能用单引号
name := "zhangsan"

byte类型
代表一个字节,也是uint8类型的别名。比如读取一个文件,这堆二进制内容就是又byte类型组成的数组。

func main() {
    b, _:= ioutil.ReadFile("xxx.png")
    fmt.Println(reflect.TypeOf(b))
    fmt.Println(b)
}

rune类型
上面说字符串不能用单引号,rune用单引号声明,这其实也暗示rune类型和字符也有点关系,它代表的是一个字符的[unicode码点]

func main() {
    x := '张'
    fmt.Println(x, reflect.TypeOf(x))
}

如果看完了上面关于unicode的介绍,就会知道一个unicode码点,是4个字节。rune也是int32的别名。(至于为什么不是uint32,我也搞不懂为什么要这样)

相关文章

  • go 第二篇(变量声明、数据类型)

    1、变量声明go是一种静态语言,意味着变量的类型固定,这个类型需要在声明的时候指明。声明变量有两个关键词var c...

  • 《Go语言四十二章经》第二章 数据类型

    作者:李骁 在 Go 语言中,数据类型可用于参数和变量声明。 2.1 基本数据类型 Go 语言按类别有以下几种数据...

  • go语言slice数据类型的定义和使用

    这篇文章介绍go语言slice数据类型的定义,内部格式,以及如何声明和定义slice类型变量。 slice数据类型...

  • 05-go基本数据类型

    Go 语言是一种静态类型的编程语言,在 Go 编程语言中,数据类型用于声明函数和变量。数据类型的出现是为了把数据分...

  • Go之旅-变量

    Go语言变量有固定的数据类型,决定了变量内存的长度和存储格式。Go变量只能修改变量值,不能改变变量的数据类型。Go...

  • 【GO】变量声明

    一、单个变量 1.指定类型 2.根据值自行判定变量类型 3.使用:= 二、多个变量 1.类型相同的多个变量(非全局...

  • Go变量声明

    go变量类型声明 变量短声明go语言是强类型语言所以在变量的声明中制定类型,但是在方法中声明的变量可以不需要关键字...

  • 3. Go 数据类型及数据结构

    3. Go 数据类型及数据结构 前面的几节中有意无意地创建了很多变量,在变量声明过程中,除非声明过程就初始化,否则...

  • Go语言笔记 | 03-变量的声明和初始化

    Go语言笔记 | 03-变量的声明和初始化 变量声明 在 go 语言中声明一个变量一般要用到关键字 var,变量声...

  • 2019-07-29

    复习: 声明 数组: 数据类型 [] 变量 = new 数据类型 [length] 可以换行写 数据类型 变量[]...

网友评论

      本文标题:go 第二篇(变量声明、数据类型)

      本文链接:https://www.haomeiwen.com/subject/fselprtx.html