少说话多写代码之GO开发——005:go的数据类型

栏目: Go · 发布时间: 6年前

内容简介:对于在学校被C荼毒的童鞋来说,go的数据类型其实很熟悉和简单。根据二八法则,只要花一点时间就可以掌握大部分的基本用法。首先来看基础的数据类型,也就是常见的int,string,bool,结构体,数组等建一个独立文件夹basicGrammar,新建文件grammar.go

对于在学校被C荼毒的童鞋来说,go的数据类型其实很熟悉和简单。根据二八法则,只要花一点时间就可以掌握大部分的基本用法。

首先来看基础的数据类型,也就是常见的int,string,bool,结构体,数组等

建一个独立文件夹basicGrammar,新建文件grammar.go

和前面的文件夹结构一致,

少说话多写代码之 <a href='https://www.codercto.com/topics/6127.html'>GO</a> 开发——005: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的数据类型》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

未来医疗

未来医疗

【美】埃里克•托普 (Eric Topol) / 郑杰 / 浙江人民出版社 / 2016-5 / 69.90

在传统医学中,医生是上帝,是权威,拥有至高无上的解释权和裁决权,面对疾病,患者总是被动接受,为医命是从。而在大数据时代下,医疗领域将发生颠覆性的变化,以患者为中心的民主医疗时代即将到来。 享誉全美的医疗预言家埃里克•托普在《未来医疗》中,为我们展示了医疗领域创新的憧憬, 分析了在开放的智能时代中,无线医疗技术将从医疗服务、医患关系上颠覆自古以来的家长式医疗,实现“以患者为中心”的个体医疗革命......一起来看看 《未来医疗》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具