内容简介:对于在学校被C荼毒的童鞋来说,go的数据类型其实很熟悉和简单。根据二八法则,只要花一点时间就可以掌握大部分的基本用法。首先来看基础的数据类型,也就是常见的int,string,bool,结构体,数组等建一个独立文件夹basicGrammar,新建文件grammar.go
对于在学校被C荼毒的童鞋来说,go的数据类型其实很熟悉和简单。根据二八法则,只要花一点时间就可以掌握大部分的基本用法。
首先来看基础的数据类型,也就是常见的int,string,bool,结构体,数组等
建一个独立文件夹basicGrammar,新建文件grammar.go
和前面的文件夹结构一致,
grammar.go
package basicGrammar
import "fmt"
//一看就会的数据类型
func TypeFormat(){
var a int
var b string
var c [10] float32
var d bool
var e struct {
x int
}
var hp int =25
var hp2 =30
hp3:="string"
a =1
b ="我是字符串"
c[0]=1
d=true
e.x =3
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
fmt.Println(d)
fmt.Println(e)
fmt.Println(hp)
fmt.Println(hp2)
fmt.Println(hp3)
}
在main.go调用如下
package main
import "basicGrammar"
func main(){
//测试基本语法
//basicGrammar.TypeFormat()
}
输出如下
1
我是字符串
[1 0 0 0 0 0 0 0 0 0]
true
{3}
25
30
string
比较特殊的一些数据结构如下,
切片,指针,map
grammar.go中中另一个方法
package basicGrammar
import "fmt"
//go语言特殊的数据类型
func SpecialTypeFormat(){
//切片
fmt.Println("切片例子")
var mySlice []int = make([]int,10)
mySlice = []int {2,4,6,8,10}
fmt.Println(mySlice)
//指针
fmt.Println("指针例子")
var p int=10
fmt.Println(&p)
var v string ="我是一个值!"
var address *string
address = &v
fmt.Printf("v 的地址:%x \n",&v)
fmt.Printf("address中保存的地址: %x \n",address)
fmt.Printf("address变量的值: %s \n",*address)
//map
fmt.Println("map例子")
var provinceCity map[string] string
provinceCity = make(map[string] string)
provinceCity["广东"]="广州"
provinceCity["湖南"]="长沙"
provinceCity["陕西"]="西安"
provinceCity["山西"]="太原"
fmt.Println("循环map")
for province := range provinceCity{
fmt.Println(province,"省会是:",provinceCity[province])
}
city,ok := provinceCity["内蒙古自治区"]
if(ok){
fmt.Println("内蒙古自治区","省会是:",city)
}else{
fmt.Println("内蒙古自治区的省会不存在!")
}
fmt.Println("map删除")
fmt.Println("原始数据:")
for item := range provinceCity{
fmt.Println(item,"省会是:",provinceCity[item])
}
fmt.Println("delete map")
delete(provinceCity,"山西")
fmt.Println("山西 被删除")
fmt.Println("删除后数据:")
for cur := range provinceCity{
fmt.Println(cur,"省会是:",provinceCity[cur])
}
}
main.go中调用
package main
import "basicGrammar"
func main(){
//特殊语法
basicGrammar.SpecialTypeFormat()
}
输出如下
API server listening at: 127.0.0.1:2345 切片例子 [2 4 6 8 10] 指针例子 0xc0000a2460 v 的地址:c000098e50 address中保存的地址: c000098e50 address变量的值: 我是一个值! map例子 循环map 湖南 省会是: 长沙 陕西 省会是: 西安 山西 省会是: 太原 广东 省会是: 广州 内蒙古自治区的省会不存在! map删除 原始数据: 山西 省会是: 太原 广东 省会是: 广州 湖南 省会是: 长沙 陕西 省会是: 西安 delete map 山西 被删除 删除后数据: 广东 省会是: 广州 湖南 省会是: 长沙 陕西 省会是: 西安
下面还有几个特殊的数据类型接着看。
以上所述就是小编给大家介绍的《少说话多写代码之GO开发——005:go的数据类型》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。