go 数据类型type尝试
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尝试的更多相关文章
- PythonStudy——数据类型 Type of data
数据类型:信息存在的状态为什么要来描述事物的具体状态:不同的事物需要不同的状态加以描述可以达到描述的最优化 python中有哪些常见的数据类型 1.整型 num = 10000000000000000 ...
- [Hive - Tutorial] Type System 数据类型
数据类型Type System Hive supports primitive and complex data types, as described below. See Hive Data Ty ...
- 在PostgreSQL自定义一个“优雅”的type
是的,又是我,不要脸的又来混经验了.我们知道PostgreSQL是一个高度可扩展的数据库,这次我聊聊如何在PostgreSQL里创建一个优雅的type,如何理解优雅?大概就是不仅仅是type本身,其它 ...
- python学习日记(2/3区别,环境,变量,数据类型以及简单习题)
Python2 与 python3 的区别: python2源码不标准,混乱,重复代码太多 python3统一标准,去除重复代码 python2的默认编码方式是ASCII码,不能识别中文.解决方法:在 ...
- Python变量与基本数据类型
Python变量与基本数据类型 前言 好了,从本章开始将正式进入Python的学习阶段.本章主要介绍的是Python变量与基本数据类型的认识,这些都是最基本的知识并且必须要牢靠掌握在心中. 注释 学习 ...
- 《Redis入门指南(第二版)》读书思考总结之Redis五大数据类型
热身:系统级命令 1. 获得符合规则的键名列表 KEYS pattern 模式匹配 产品的缓存:product+"."+....; => keys product* 订单的 ...
- Oracle存储过程-自定义数据类型,集合,遍历取值
摘要 Oracle存储过程,自定义数据类型,集合,遍历取值 目录[-] 0.前言 1.Packages 2.Packages bodies 3.输出结果 0.前言 在Oracle的存储过程中,可能会遇 ...
- 一句python,一句R︱模块导入与查看、数据读写出入、数据查看函数、数据类型、遍历文件
先学了R,最近刚刚上手python,所以想着将python和R结合起来互相对比来更好理解python.最好就是一句python,对应写一句R. pandas中有类似R中的read.table的功能,而 ...
- 从0开始的Python学习002python的数据类型
在创建变量的时候不用声明数据类型 # 创建变量 a = 10 # 打印变量值 print(a) 结果如下: 这种感觉和Java有很大的不同,感觉python很神奇,数据的类型是python自己决定的. ...
随机推荐
- 关注 硬件 发展, 转载一篇介绍 VHDL 的文章
<VHDL学习笔记> https://www.eefocus.com/hrbeulvcaho/blog/12-11/289109_978e2.html VHDL 和 “可编程逻辑阵列” ...
- Mybatis中在log日志或控制台打印执行的sql
最近在调试代码时,需要查看当前操作执行的sql,在日志里没查到,经过修改logback配置后成功,现记录如下:一.Mybatis版本是3.0.6(我正在用的版本)该版本只需要修改logback.xml ...
- py-day1-5 python 分割 、 字母大小转换
# partition() 分割为3段 从左往右遇见的第一个开始 test = 'bassaiwoll' v = test.partition('s') print(v) ('ba', 's', 's ...
- golang 如何查看channel通道中未读数据的长度
可以通过内建函数len查看channel中元素的个数. 内建函数len的定义如下: func len(v Type) int The len built-in function returns the ...
- Flume 案例 Telnet安装及采集Telnet发送信息到控制台
Telnet安装 一.查看本机是否安装telnet #rpm -qa | grep telnet 如果什么都不显示.说明你没有安装telnet 二.开始安装 yum install xinetd yu ...
- linux项目部署常用命令
原文出处:http://blog.csdn.net/u013628152/article/details/45847013 1:执行命令#find / -name tomcat,系统将列出所有tomc ...
- ML: 聚类算法R包 - 密度聚类
密度聚类 fpc::dbscan fpc::dbscan DBSCAN核心思想:如果一个点,在距它Eps的范围内有不少于MinPts个点,则该点就是核心点.核心和它Eps范围内的邻居形成一个簇.在一个 ...
- VGA原理
VGA原理 1.VGA时序 2.不同的显示标准,有不同的水平段和垂直段 3.像素时钟和帧频的关系 联系目前调试的1080i 50Hz: 像素时钟为148.5MHz, 水平段周期 = 2640 X (1 ...
- MHA failover GTID 专题
https://yq.aliyun.com/articles/238882?spm=5176.8067842.tagmain.18.73PjU3 摘要: MHA failover GTID 专题 这里 ...
- 计算MySQL的内存峰值公式 (转)
-- 计算MySQL的内存峰值公式,计算所有的连接满了的情况下: select (@@key_buffer_size + @@query_cache_size + @@tmp_table_size ...