Go 的数据类型和变量声明

114 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第24天,点击查看活动详情

前言

  本文我将分享Go语言的数据类型和变量声明,以上是我在大四上学期学习Go语言的心得,写于此篇,希望可以帮助到需要帮助的人。

1、概述

  在计算机科学和计算机编程中,数据类型或简单的类型是数据的一个属性,它告诉编译器或解释器程序员打算如何使用数据。大多数编程语言支持整数(大小不同)、浮点数(近似实数)、字符和布尔值的基本数据类型。数据类型约束表达式的值,例如变量或函数,可能需要。此数据类型定义了可以对数据执行的操作、数据的含义以及存储该类型值的方式。数据类型提供一组值,表达式(即变量、函数等)可以从中获取其值。

  变量声明是一个词语,是用于创建新变量并且标识变量类型的语句。

2、数据类型

字符串

string

只能用一对双引号("")或反引号(``)括起来定义,不能用单引号('')定义!

布尔

bool

只有 true 和 false,默认为 false。

数字

整型

int8 uint8

int16 uint16

int32 uint32

int64 uint64

int uint,具体长度取决于 CPU 位数。

浮点型

float32 float64

3、常量声明

常量,在程序编译阶段就确定下来的值,而程序在运行时无法改变该值。

单个常量声明

第一种:const 变量名称 数据类型 = 变量值

如果不赋值,使用的是该数据类型的默认值。

第二种:const 变量名称 = 变量值

根据变量值,自行判断数据类型。

多个常量声明

第一种:const 变量名称,变量名称 ... ,数据类型 = 变量值,变量值 ...

第二种:const 变量名称,变量名称 ... = 变量值,变量值 ...

测试代码

package main

import (
   "fmt"
)

func main() {
   const name string = "Xmp"
   fmt.Println(name)

   const age = 30
   fmt.Println(age)

   const name1, name2 string = "Xmp", "Kj"
   fmt.Println(name1, name2)

   const name3, age1 = "Xmp", 22
   fmt.Println(name3, age1)
}

运行结果:

image.png

4、变量声明

单个变量声明

第一种:var 变量名称 数据类型 = 变量值

如果不赋值,使用的是该数据类型的默认值。

第二种:var 变量名称 = 变量值

根据变量值,自行判断数据类型。

第三种:变量名称 := 变量值

省略了 var 和数据类型,变量名称一定要是未声明过的。

多个变量声明

第一种:var 变量名称,变量名称 ... ,数据类型 = 变量值,变量值 ...

第二种:var 变量名称,变量名称 ... = 变量值,变量值 ...

第三种:变量名称,变量名称 ... := 变量值,变量值 ...

测试代码

package main

import (
   "fmt"
)

func main() {
   var age1 uint8 = 22
   var age2 = 11
   age3 := 11
   fmt.Println(age1, age2, age3)

   var age4, age5, age6 int = 20, 22, 23
   fmt.Println(age4, age5, age6)

   var name1, age7 = "Xmp", 22
   fmt.Println(name1, age7)

   name2, isboy, height := "Kj", true, 178.66
   fmt.Println(name2, isboy, height)
}

运行结果:

image.png

5、输出方法

fmt.Print:输出到控制台(仅只是输出)

fmt.Println:输出到控制台并换行

fmt.Printf:仅输出格式化的字符串和字符串变量(整型和整型变量不可以)

fmt.Sprintf:格式化并返回一个字符串,不输出。

测试代码

package main

import (
   "fmt"
)

func main() {
   fmt.Print("输出到控制台不换行")
   fmt.Println("---")
   fmt.Println("输出到控制台并换行")
   fmt.Printf("name=%s,age=%d\n", "Tom", 30)
   fmt.Printf("name=%s,age=%d,height=%v\n", "Tom", 30, fmt.Sprintf("%.2f", 180.567))
}

运行结果:

image.png

总结

  以上就是我学习go语言的收获,分享给大家,希望可以帮到大家。