go语言定义变量/类型的方式
2016-10-23 00:00
573 查看
1、数组
2、切片
切片可以通过数组构建,这里不讨论这种方式
可以发现[]中有数字的是固定长度的数组,没有数字的表示切片
3、map
// 先声明map
var m1 map[string]string
// 再使用make函数创建一个非nil的map,nil map不能赋值
m1 = make(map[string]string)
// 直接创建
m2 := make(map[string]string)
// 直接创建
// 初始化 + 赋值一体化
m3 := map[string]string{
"a": "aa",
"b": "bb",
}
//创建+初始化
var m4 map[string][string]= make(map[string]string)
map必须初始化才能使用,否则会报错
5、结构体
a:=new(user)//返回的是实例化的对象的指针
b:=&user{}//返回的是实例化的对象的指针
c:=user{}
var d user = user{}
//使用&T{...}创建struct,结果为指针类型
var s1 *Student = &Student{102, "John", "Nanjing Road", 19}
//使用T{...}创建struct,结果为value类型
var s2 Student = Student{103, "Smith", "Heping Road", 20}
看输出就明白了。
var array1 = [5]int{1, 2, 3} var array2 = [...]int{6, 7, 8} var array3 [5]int array4 := [5]int{1, 2, 3} array5 := new([3]int)
2、切片
切片可以通过数组构建,这里不讨论这种方式
var slice1 = []int{9, 10, 11, 12} slice2 := make([]int, 5) var slice3 []int slice2 := []int {元素1[, 元素2, ...]}
可以发现[]中有数字的是固定长度的数组,没有数字的表示切片
3、map
// 先声明map
var m1 map[string]string
// 再使用make函数创建一个非nil的map,nil map不能赋值
m1 = make(map[string]string)
// 直接创建
m2 := make(map[string]string)
// 直接创建
// 初始化 + 赋值一体化
m3 := map[string]string{
"a": "aa",
"b": "bb",
}
//创建+初始化
var m4 map[string][string]= make(map[string]string)
map必须初始化才能使用,否则会报错
5、结构体
a:=new(user)//返回的是实例化的对象的指针
b:=&user{}//返回的是实例化的对象的指针
c:=user{}
var d user = user{}
//使用&T{...}创建struct,结果为指针类型
var s1 *Student = &Student{102, "John", "Nanjing Road", 19}
//使用T{...}创建struct,结果为value类型
var s2 Student = Student{103, "Smith", "Heping Road", 20}
type student struct { name string age int } func main() { s1 := new(student) s2 := &student{"b", 1} s3 := student{"c", 3} var s4 student = student{"d", 4} var s5 *student = &student{"d", 4} //&{ 0} &{b 1} {c 3} {d 4} &{d 4} fmt.Println(s1, s2, s3, s4, s5) }
看输出就明白了。
相关文章推荐
- Go语言学习笔记 --- 常量、变量、批量定义与声明、数据类型、类型别名、类型转换
- Go语言学习(三)-----变量、基本类型
- Go语言学习笔记(二) [变量、类型、关键字]
- Go 语言变量的定义、用法、示例
- Go语言 2 变量、常量和数据类型
- 用类名做方法的返回值类型 在学习Java的初始阶段,很多同学使用基本数据类型定义变量和引用类型定义变量以及使用类名做方法的返回值类型常常不知所以。今天我以自己的解读方式和个人的理解作一个简单的解释,和
- Go语言学习5:Go语言的变量类型
- javascript语言两种变量类型及存储方式
- JavaScript总体的介绍【JavaScript介绍、定义函数方式、对象类型、变量类型】
- Golang学习笔记(3)---go语言变量、常量的定义及赋值
- go语言int类型转化成string类型的方式
- Go语言学习二:Go基础(变量、常量、数值类型、字符串、错误类型)
- C语言基础之变量的命名规则、定义常量、C的数据类型
- go语言变量定义用法实例
- Java语言基础{Java_se(02)}-字面量和常量-变量的基本定义和使用-Java表达式-数据类型和分类-基本数据类型的转换-算数运算符-赋值运算符-比较运算符-三元运算符-逻辑运算符
- 第一部分 基本语言 第二章 变量和基本类型(2.3.6名字的作用域)(2.3.7在变量的使用处定义变量)
- Go语言学习笔记(二) [变量、类型、关键字]
- Go语言基础入门--变量,类型
- C类型和存储方式的语言变量
- 02-Go语言数据类型与变量