嵌套Golang对象的初始化
比如有这样一个对象:
type ProductConfig struct {
Site map[string]string
}
对应的初始化可以如下写:
var pc ProductConfig
pc = ProductConfig{Site: map[string]string{"rakuten": "http://item.rakuten.co.jp/auc-trustgift/10079213/",
"tmail": "http://detail.tmall.hk/hk/item.htm?spm=a230r.1.14.10.tCoYIo&id=41304819572&ad_id=&am_id=&cm_id=140105335569ed55e27b&pm_id=&abbucket=6"}}
需要注意的几点:
- 其中的成员变量幅值不用“”括起来。
- 内部变量类型,需要指明,类似这里的 map[string]string。
继续复杂点的:
对象:
type tomlConfig struct {
CrawlerSource map[string]ProductConfig
}
type ProductConfig struct {
Site map[string]string
}
初始化赋值代码如下:
toml := tomlConfig{CrawlerSource: map[string]ProductConfig{
"1": ProductConfig{Site: map[string]string{"rakuten": "http://item.rakuten.co.jp/auc-trustgift/10079213/",
"tmail": "http://detail.tmall.hk/hk/item.htm?spm=a230r.1.14.10.tCoYIo&id=41304819572&ad_id=&am_id=&cm_id=140105335569ed55e27b&pm_id=&abbucket=6"}},
"2": ProductConfig{Site: map[string]string{"rakuten": "http://item.rakuten.co.j",
"tmail": "http://detail.tmall.hk/hk/item.htm?spm=a2"}},
}}
再复杂一点的对象:
type tomlConfig struct {
CrawlerSource map[string]ProductConfig
}
type ProductConfig struct {
Name string
Site map[string]string
}
对应的初始化
toml := tomlConfig{CrawlerSource: map[string]ProductConfig{
"1": ProductConfig{
Name: "测试1",
Site: map[string]string{"rakuten": "http://item.rakuten.co.jp/auc-trustgift/10079213/",
"tmail": "http://detail.tmall.hk/hk/item.htm?spm=a230r.1.14.10.tCoYIo&id=41304819572&ad_id=&am_id=&cm_id=140105335569ed55e27b&pm_id=&abbucket=6"}},
"2": ProductConfig{
Name: "郭红俊",
Site: map[string]string{"rakuten": "http://item.rakuten.co.j",
"tmail": "http://detail.tmall.hk/hk/item.htm?spm=a2"}},
}}
嵌套Golang对象的初始化的更多相关文章
- 解析Java类和对象的初始化过程
类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来 ...
- java中类的初始化和对象的初始化
静态的属于全局静态区,这个部分独立存在,不管是成员还是块,都是静态的,大家地位相等,先到先得. 然后是成员初始化,这个部分在类的构造函数前初始化,因为编译器(或者设计者)可能认为构造函数调用了这个成员 ...
- ios中属性和对象的初始化
属性和对象的初始化为了方便记忆, 我们可以都使用self.来初始化. 这样可以避免内存的过度释放.
- [C#解惑] #2 对象的初始化顺序
谜题 在上一篇C#解惑中,我们提到了对象的初始化顺序.当我们创建一个子类的实例时,总是会先执行基类的构造函数,然后再执行子类的构造函数.那么实例字段是什么时候初始化的呢?静态构造函数和静态字段呢?今天 ...
- JAVA基础之对象的初始化
本文主要记录JAVA中对象的初始化过程,包括实例变量的初始化和类变量的初始化以及 final 关键字对初始化的影响.另外,还讨论了由于继承原因,探讨了引用变量的编译时类型和运行时类型 一,实例变量的初 ...
- [百度空间] [转] 在 Visual C++ 中控制全局对象的初始化顺序
from: http://blog.csdn.net/classfactory/archive/2004/08/07/68202.aspx 在 C++ 中,同一个翻译单位(.cpp文件)里的全局对象的 ...
- C++:对象的初始化和构造函数
对象的初始化和构造函数 构造函数:是一种特殊的成员函数,它主要用于为对象分配空间,进行初始化.构造函数 的名字必须与类名相同,它不要用户来调用,而是在建立对象时自动执行的 形式一: 类名 对象名(实参 ...
- Java反射机制(获取Class对象的三种方式+获取Class中的构造函数进行对象的初始化+获取反射类的字段+获取反射类的一般方法)
反射技术其实就是动态加载一个指定的类,并获取该类中的所有内容.而且将字节码文件封装成对象,并将字节码文件中的内容都封装成对象,这样便于操作这些成员,简单来说:反射技术可以对一个类进行解剖,反射大大增强 ...
- 重新开始学习javase_对象的初始化
一.类加载机制 类加载的时机类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载.验证.准备.解析.初始化.使用.卸载7的阶段: 加载.验证.准备.初始化和卸载这5个阶段的顺序是 ...
随机推荐
- php中递归查找父级名称
/** * 获取所属公司 * @param array 列表 * @param $id 上级ID * @return array */ private static function get_top_ ...
- PHP实现用户在线状态检测
这个是基于ThinkPHP框架的,其他的可以自己根据需求改 1.先新建一个tags.php文件,放在配置目录Conf下. <?php /* * 添加行为 * */ return arr ...
- [转]Java 内存溢出(java.lang.OutOfMemoryError)的常见情况和处理方式总结
原文地址: http://outofmemory.cn/c/java-outOfMemoryError java.lang.OutOfMemoryError这个错误我相信大部分开发人员都有遇到过,产生 ...
- es去重查询
{ "query": { "bool": { "must": ...
- [整理] Nginx Location 匹配规则
目录 规则语法 location 分类 匹配顺序: 扩展 location / {}和 location =/ {}的区别 如何快速测试 规则语法 语法 匹配规则 空 普通匹配(遵循最大前缀匹配规则, ...
- tableView header Refresh 下拉刷新/上拉加载
一. UIScrollView 的分类 //作为入口 #import <UIKit/UIKit.h> #import "RefreshHeader.h" #import ...
- 修改testng源码,添加beforeMethod和afterMethod中的日志到test中(可以不改源码,废弃)
在使用testng生成报告的时候,只会记录test方法中的日志,但是一般会在beforeMethod.beforeTest.afterMethod.afterTest中做一下数据的处理,这里面的日志没 ...
- [CoffeeScript]在WebStorm里运行CoffeeScript
CoffeeScript 是一门编译到 JavaScript 的小巧语言. 在 Java 般笨拙的外表下, JavaScript 其实有着一颗华丽的心脏. CoffeeScript 尝试用简洁的方式展 ...
- python之类与对象(5)
6. 类的多继承与超继承 6.1 多继承 python的类还有一个特点,就是可以继承多个类.但是我们作为测试人员,在实际中很少用到这个多继承,这里不就详细(一直都不详细,hhhh)写了.上代码: #! ...
- python全栈开发_day6_元组,字典,集合
一:元组 1)定义 元组:有序,可以按索引取值,不可变,但是可以修改元组里面可变数据的数据内容. res = (1,2,3,4,3,2,1) 2)内置方法和使用 res.count(1) ...