package main
import "fmt"
import "encoding/json" type Human struct{
Name string
Home string
Like string
} type Info struct{
One string
Two string
}
type TestInt int //自定义数据类型,比如自定义的TestInt所代表的类型是int type Jo struct{ //自定义数据类型,比如自定义的Jo所代表的类型是struct
Human //复合共同部分
Father string
Mather string
ArrInfo []Info
MyInfo Info
} func (h Human) SayName(){
print(h.Name)
} type TestOne interface{
SayName()
} //interface{}是一种比较通用的类型,可以接受任何类型的数据 func main(){
var abcd []Human
for i:=0; i<6;i++{
abcd=append(abcd,Human{
Name:"sdklfjsdf",
Home:"sdkljfds",
Like:"sdlkfsdljf",
})
}
print(abcd)
var ae interface{}
ae=abcd
print(ae)
testTypeA() } func testTypeA(){
var i TestOne //创建变量需要声明类型,类型可以自定义也可以go语言提供的基本类型
var b Human
b.Name="slkdjfsjd"
b.Home="slkdjfds"
b.Like="slkdfjsdjf"
i=b //interface{} i可以接受任何数据类型,所以这里可以接受b的数据
i.SayName()
print(i)
var jo Jo
jo.Father="slkdjfsd"
jo.Mather="skldfjsdj"
jo.Human=Human{ //对共同部分的赋值需要这样写
Name:"skldjfsdf",
Home:"slkdjfds",
Like:"slkdjfsjdf",
}
jo.Name="4654645654" //这里可以直接引用复用的对象,当然也可以用以上的方式赋值
jo.ArrInfo=[]Info{ //值得注意的是对变量赋值,所赋的值需要先声明类型再定义值
{One:"slkdjfsdf",Two:"jskdljfs"},
{One:"s46465465lkdjfsdf",Two:"jskdljfs"},
}
jo.MyInfo=Info{
One:"sdfsdjfkl",
Two:"sdlkfjsdfj",
}
json,_:=json.Marshal(jo)
print(string(json))
var aint TestInt
aint=46465
print(aint)
amap:=make(map[string]interface{}) //map的值不一定是固定某种类型的数据,所以用interface{}
amap["Father"]=jo.Father
amap["Mather"]=jo.Mather
amap["Name"]=jo.Name
amap["ArrInfo"]=jo.ArrInfo
amap["MyInfo"]=jo.MyInfo
print(amap)
} func print(a interface{}){
fmt.Println(a)
}

  

go 数据类型type尝试的更多相关文章

  1. PythonStudy——数据类型 Type of data

    数据类型:信息存在的状态为什么要来描述事物的具体状态:不同的事物需要不同的状态加以描述可以达到描述的最优化 python中有哪些常见的数据类型 1.整型 num = 10000000000000000 ...

  2. [Hive - Tutorial] Type System 数据类型

    数据类型Type System Hive supports primitive and complex data types, as described below. See Hive Data Ty ...

  3. 在PostgreSQL自定义一个“优雅”的type

    是的,又是我,不要脸的又来混经验了.我们知道PostgreSQL是一个高度可扩展的数据库,这次我聊聊如何在PostgreSQL里创建一个优雅的type,如何理解优雅?大概就是不仅仅是type本身,其它 ...

  4. python学习日记(2/3区别,环境,变量,数据类型以及简单习题)

    Python2 与 python3 的区别: python2源码不标准,混乱,重复代码太多 python3统一标准,去除重复代码 python2的默认编码方式是ASCII码,不能识别中文.解决方法:在 ...

  5. Python变量与基本数据类型

    Python变量与基本数据类型 前言 好了,从本章开始将正式进入Python的学习阶段.本章主要介绍的是Python变量与基本数据类型的认识,这些都是最基本的知识并且必须要牢靠掌握在心中. 注释 学习 ...

  6. 《Redis入门指南(第二版)》读书思考总结之Redis五大数据类型

    热身:系统级命令 1. 获得符合规则的键名列表 KEYS pattern 模式匹配 产品的缓存:product+"."+....;  => keys product* 订单的 ...

  7. Oracle存储过程-自定义数据类型,集合,遍历取值

    摘要 Oracle存储过程,自定义数据类型,集合,遍历取值 目录[-] 0.前言 1.Packages 2.Packages bodies 3.输出结果 0.前言 在Oracle的存储过程中,可能会遇 ...

  8. 一句python,一句R︱模块导入与查看、数据读写出入、数据查看函数、数据类型、遍历文件

    先学了R,最近刚刚上手python,所以想着将python和R结合起来互相对比来更好理解python.最好就是一句python,对应写一句R. pandas中有类似R中的read.table的功能,而 ...

  9. 从0开始的Python学习002python的数据类型

    在创建变量的时候不用声明数据类型 # 创建变量 a = 10 # 打印变量值 print(a) 结果如下: 这种感觉和Java有很大的不同,感觉python很神奇,数据的类型是python自己决定的. ...

随机推荐

  1. 关注 硬件 发展, 转载一篇介绍 VHDL 的文章

    <VHDL学习笔记> https://www.eefocus.com/hrbeulvcaho/blog/12-11/289109_978e2.html VHDL 和  “可编程逻辑阵列”  ...

  2. Mybatis中在log日志或控制台打印执行的sql

    最近在调试代码时,需要查看当前操作执行的sql,在日志里没查到,经过修改logback配置后成功,现记录如下:一.Mybatis版本是3.0.6(我正在用的版本)该版本只需要修改logback.xml ...

  3. py-day1-5 python 分割 、 字母大小转换

    # partition() 分割为3段 从左往右遇见的第一个开始 test = 'bassaiwoll' v = test.partition('s') print(v) ('ba', 's', 's ...

  4. golang 如何查看channel通道中未读数据的长度

    可以通过内建函数len查看channel中元素的个数. 内建函数len的定义如下: func len(v Type) int The len built-in function returns the ...

  5. Flume 案例 Telnet安装及采集Telnet发送信息到控制台

    Telnet安装 一.查看本机是否安装telnet #rpm -qa | grep telnet 如果什么都不显示.说明你没有安装telnet 二.开始安装 yum install xinetd yu ...

  6. linux项目部署常用命令

    原文出处:http://blog.csdn.net/u013628152/article/details/45847013 1:执行命令#find / -name tomcat,系统将列出所有tomc ...

  7. ML: 聚类算法R包 - 密度聚类

    密度聚类 fpc::dbscan fpc::dbscan DBSCAN核心思想:如果一个点,在距它Eps的范围内有不少于MinPts个点,则该点就是核心点.核心和它Eps范围内的邻居形成一个簇.在一个 ...

  8. VGA原理

    VGA原理 1.VGA时序 2.不同的显示标准,有不同的水平段和垂直段 3.像素时钟和帧频的关系 联系目前调试的1080i 50Hz: 像素时钟为148.5MHz, 水平段周期 = 2640 X (1 ...

  9. MHA failover GTID 专题

    https://yq.aliyun.com/articles/238882?spm=5176.8067842.tagmain.18.73PjU3 摘要: MHA failover GTID 专题 这里 ...

  10. 计算MySQL的内存峰值公式 (转)

    -- 计算MySQL的内存峰值公式,计算所有的连接满了的情况下: select (@@key_buffer_size + @@query_cache_size + @@tmp_table_size   ...