go语言基础基本语法与使用–变量、基本数据类型及初始化 – 21运维
通知: .-...

go语言基础基本语法与使用–变量、基本数据类型及初始化

GO 21运维 653浏览

一,变量
gou 语言的每一个变量都拥有自己的类型,必须经过声明才能使用。
程序组成除了语言自身的标识符意外,一般都会使用大量的自定义标识符,自定义标识符需要通过声明语句来实现。其中go语言声明用到的几个关键字:
var 声明变量
const声明常量
type声明新类型
func声明函数
package 声明包
interface声明接口
声明之后通过各种调用和流程语句,完成程序使命。
1,声明变量
(1)标准格式
var 变量名 变量类型
其中变量类型,可以是go内置的基本数据类型、复合数据类型,甚至函数,接口,方法和自定义类型等。
(2)批量格式
var (
变量1 变量类型
变量2 变量类型
.
.

2,初始化变量
(1)标准格式
var 变量名 变量类型 = 表达式(值)
(2)编译器推导类型格式(即省略变量类型,由编译器根据右值 推导变量类型)
var 变量名 =表达式
(3)短变量声明并初始化(这种比较常用)
变量名:= 表达式
这里变量与表达式采用“:=“来进行赋值
说明:短变量声明以及初始化的变量名,比如是一个没有定义过的变量,否则会编译报错。

package main

import "fmt"
func main(){
   name:="21yunwei"
   fmt.Println(name)
}
package main

import "fmt"
func main(){
	var a [3]int=[3]int{1,2,3}
	fmt.Println(a)
}

ps:
整型和浮点型的默认值为0
字符串变量的默认值为空字符串
布尔类型变量的值默认为false
接口、函数、切片、指针、切片、map、chan等变量的默认值为nil;
数组或者结构体则是构成他们元素对应类型的默认值。

3,多个变量同时赋值
多重赋值时,变量的左值和右值按从左到右的顺序进行赋值。

4,匿名变量(俗称占位符)
匿名变量使用“_“来表示,实际就是占有一个逻辑位置,实际不占命名空间也不会分配内存。

package main

import "fmt"
func GetData()(int,int){
   return 100,200
}
func main(){
   a,_:=GetData()
   _,b:=GetData()
   fmt.Println(a)
   fmt.Println(b)
}

5,自增和自减,适用于数值类型,不能放到表达式。

package main

import "fmt"
func main(){
   var a int=10
   a++
   fmt.Println(a)
}

二,基本数据类型
go语言支持的类型比较多,整型、浮点型、字符串、布尔类型、切片、map、结构体等等。
1,整型int
分两类:
按照长度:int8 int16 int32 int64;
无符号整型:unit8,unit16,unit32,unit64

说明:取值范围可以通过math的min max来获取获取。
了解:
int8 取值范围:-128—+127
int16:-32767–+32768
int32:-2147483648–2147483647

2,浮点型 float
支持float32和float64,区别就是精度不一样,平时建议直接使用float64,float32精度经常出错。
ps:打印float类型,可以借助fmt包printf的%f来获取,同时也可以指定小数点后边位数(这点和c语言一样)

3,布尔类型bool
bool类型只有两个值:true和false,且默认值为false。
ps:
(1)bool变量无法参与数值运算,也无法进行强制类型转换。
(2)bool变量一般用来做if判断或者是条件判断。

4,字符串类型string
字符串类型在go语言中以原生数据出现,采用双引号““进行赋值。
var name string= “hello“
Name:=”world”
说明:
(1)转义字符:\r \n \t \’ \” \\
(2)go语言字符串内部基于utf-8来实现。
(3)原始字符串。采用反引号“`“来定义。两个反引号中间的值会原样赋值到变量中,而且转移字符也会无效
【原因:反单引号的内容不会被编译器识别】。一般用于内嵌数据或者内嵌源码。

5,复数
平时用的比较少,主要用于数学计算学科。
两种类型:complex64\complex128
ps:上述1-5五种变量类型,是go语言当中的基本数据类型。

转载请注明:21运维 » go语言基础基本语法与使用–变量、基本数据类型及初始化