Go语言入门之基础知识写在前面👀写在后面

「这是我参与11月更文挑战的第8天,活动详情查看:2021最后一次更文挑战

写在前面👀

今天主要聊聊Go的基础知识❣

一、声明与初始化

1.变量声明

  • 标准格式

var <变量名> <数据类型>

  var a int
复制代码
  • 批量格式

如果要声明的变量很多就可以用小括号( )进行批量声明

  var( a int
       b bool
       c string
 )      
复制代码

2.变量初始化与赋值

  • 声明变量的时候同时赋值

语句var <变量名> <数据类型> = 值

var a int =18
复制代码
  • 先声明后赋值
package main

import "fmt"

var (
	a int
	b bool                    //先声明变量
	c string
)

func main() {
	a = 18
	b = true              //后给变量赋值 
	c = "倔强的牛角"
	fmt.Println(a, b, c)
}

复制代码
  • 靠智能的编译器自动识别

语句var <变量名> = 值 Go 编译器的智商已经高到可以根据变量的值来自动推断其类型,但也不是万能的,像设置一个具体的数据类型如int8,还得是用var a int8

   var( 
        a = 15
	b = true
	c = "倔强的牛角"
  )      
复制代码
  • 简短变量声明

语句<变量名> := 值 注意:简短声明语法 := 只能在函数体内使用,属于局部变量;像用 var 定义的变量一般都在函数体外,是全局变量,属于包级别。

a := 18 //注意:等号左边的变量名必须是没有定义过的变量名,否则将会发生编译错误!
复制代码

3.常量

常量使用关键字 const 定义,用于存储不会改变的数据,所以它能定义的数据类型比较少,只能是布尔型、数字型(整数型、浮点型和复数)和字符串型。

  • 标准定义格式(显式类型定义)

const <变量名> <数据类型> = 值

const name string = "倔强的牛角"
复制代码
  • 隐式类型定义

const <变量名> = 值
也是由智能的编译器自动判断厂里的数据类型,但同样不是万能的,想要定义一个具体的数据类型还得用标准定义格式。

const name string = "倔强的牛角"
复制代码
  • 常量的定义和初始化的方法与变量类似,但是常量不能用 := 语法声明。

4.匿名变量

顾名思义,一个没有名字的变量,它用下划线 _ 表示。匿名变量不占用命名空间,也不会占用内存,可以多次声明而不冲突。可以理解为工具人,今后我会在函数中讲他的实际用法。

二、基本数据类型

类型 长度(字节) 零值 说明
bool 1 false true flase
byte 1 0 uint8
rune 4 0 Unicode Code Point, int32
int, uint 4或8 0 32 或 64 位
int8, uint8 1 0 -128 ~ 127, 0 ~ 255,byte是uint8 的别名
int16, uint16 2 0 -32768 ~ 32767, 0 ~ 65535
int32, uint32 4 0 -21亿~ 21亿, 0 ~ 42亿,rune是int32 的别名
int64, uint64 8 0 3.4e38
float32 4 0.0
float64 8 0.0 1.8e308
complex64 8 复数
complex128 16 复数
uintptr 4或8 以存储指针的 uint32 或 uint64 整数
string “” UTF-8 字符串
## 三、类型转换

和C语言不同的是,Go语言中只有强制类型转换,没有隐式类型转换。

转换格式:T(表达式) T表示要转换的数据类型

写在后面

感谢观看✨
如有不足,欢迎指出💖