go语言数据类型
【摘要】 详细的介绍了go语言中包含哪些数据类型,以及每一种数据类型使用方法的举例。
数据类型有哪些?怎么使用?(在这里仅仅做简单介绍,后来会进行详细介绍)
(一)基础类型
- 布尔
有两种值bool或者true - 数字类型
整型、浮点型 - 字符串类型
字符串是一串固定长度的字符拼接起来的字符序列,go语言字符串是由单个字节连接起来的
go语言字符串的字节使用utf-8编码
(二)派生类型
(1)指针类型
var p int=10
var p1 *int
var p2 **int
p1=&p
p2=&p1
//以下打印均为10
fmt.Println(p,*p1,**p2)
(2)数组类型
//声明数组的两种方式
//先声明后初始化
var my2arr [3][4]int
//直接初始化
var myarray1 = [10]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 0}
(3)结构体类型
type man struct {
id string
name string
age int
}
(4)Channel类型(类似于队列,先进先出)
//这里声明了一个int型的通道
var a chan int
(5)函数类型(简单声明一个函数的方法)
//返回两个值中一个较大的值,相等则抛出异常
func maxs(a, b int) (error,int) {
if a > b {
return nil,a
} else {
return nil,b
}
return errors.New("相等"),0
}
(6)切片类型(可以随意进行切割,算头不算尾)
atemp := [11]int{1, 2, 3, 4, 5, 6, 9, 8, 7, 0}
a2 := atemp[:6]
(7)接口类型(十颗星)
//接口的定义
type Phone interface {
speak()
read()
}
//类型的实现
type IPhone struct {
}
//接口功能的实现
func (a IPhone) speak() {
fmt.Println("我叫sir,您好!")
}
(8)Map类型
Map就是集合,有键有值
// 直接进行初始化
var name = map[string]string{"func": "123", "name": "66"}
fmt.Println(name)
// 使用make进行初始化
var name1 map[string]string
name1 = make(map[string]string)
(三)变量的声明注意点
(1)变量声明的一般形式是使用var关键字,支持一次声明多个变量
(2)如果变量只进行了声明,没有对他进行赋值,那么int变量的默认值为0
bool类型变量默认为false
str类型变量是“”(空字符串)
指针、数组、函数默认值为nil
(3)根据所给的值进行自我判断(值是什么类型,变量就是什么类型)
(4)声明赋值简写 a:=1(这种方式a的类型将与值的类型相同,并且这种声明方式不可以用于全局变量的声明)
相当于var a int
a=1
如果使用var a int 后再使用a:=1就会报错
(5)因式分解式的变量声明(一般用于全局变量声明)
var(
变量1 类型1
变量2 类型2
)
(6)go语言中进行局部变量声明必须使用,不使用的话会进行报错,全局变量没事
(7)空白字符_(超级重要)
空白字符是一个只写变量,只能对其进行写入没办法将里面的数据进行读出
可以用于接收多返回值函数的某些特定位置的返回值
例如:
_=10
一般用来忽略多余返回值,或用于通道
(8)交换两个数据可以这样写
a:=10
b:=100
// 交换a,b两个值
a, b = b, a
如果看完本博客对go语言变量有了一定的认识,则达到了效果,后续还会进行每一种变量的详细介绍。
Go GO GO,加油!
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)