dbus中的数据类型
DBus中也是类似于静态语言,使用了“强类型”数据格式。在DBus上传递的所有数据都需要声明其对应的类型,下面整理了下,DBus中的数据类型,以及在DBus中声明的数据类型是什么意思。
| dbus类型 | 说明 |
|---|---|
| s | string 字符串类型,可以声明 s: |
| a | array 数组,可以声明为 a: |
| v | variant,任意类型,类似于interface |
| () | 结构体,声明时为双括号中间的为类型,可以是多个,例如(ss) 即这个结构体内包含两个字符串属性 |
| b | 布尔值 |
| SIGNATURE | signature类型 |
| y | BYTE |
| d | DOUBLE |
| t | UINT64 |
| x | INT64 |
| u | UINT32 |
| i | INT32 |
| q | uint16 |
| n | INT16 |
| {} | 词典,这里声明为两个括号,中间为其对应的 key value,例如 {sv} 即 key是字符串类型,value是variant类型。 |
| o | OBJECT_PATH 对象路径 |
a{sv} : 是一个数组,为 一个键值对的词典,里面仅有一个
(ssssa{ss}as) 为一个结构体, 里面属性有7个 两个词典(数组),五个字符串类型
(sssbsasa(ss)asba(ssss)asasasasa(ss)b) 这个类型拆开为下:共16个属性
(
s string
s string
s string
b bool
s string
as array only one string
a(ss) two string type in the array
as array only one string
b bool
a(ssss) four string type in the array
as array only one string
as array only one string
as array only one string
as array only one string
a(ss) two string type in the array
b bool
)
ao: array,里面元素仅为一个object_path
golang 中声明一个 Variant
在go中看到variant类型如下
type Variant struct {
sig Signature
value interface{}
}
可以通过 SignatureOf("short")声明一个 Signature
然后在通过:MakeVariantWithSignature(v interface{}, s Signature) Variant 声明 对应的 Variant
注:其他数据类型与golang自己的数据类型一致,数组可以使用slice(类似php,python直接用数组替代即可更灵活)
More Reference
dbus中的数据类型的更多相关文章
- JavaScript 中的数据类型
Javascript中的数据类型有以下几种情况: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Function,Date,Ar ...
- hibernate中java类的成员变量类型如何映射到SQL中的数据类型变化
hibernate映射文件??.hbm.xml配置映射元素详解--Hibernate映射类型 在从Hibernate的java的成员类型映射到SQL中的数据类型,其内映射方式它满足,SQL可以自己调制 ...
- js中的数据类型
JS中的数据类型: ——数字 (number)NaN ——字符串(string) ——布尔 (boolean)——函数 (function) 也是对象的一种 ——对象 (object) ...
- 如何判断js中的数据类型?
js六大数据类型:number.string.object.Boolean.null.undefined string: 由单引号或双引号来说明,如"string" number: ...
- 如何判断js中的数据类型
如何判断js中的数据类型:typeof.instanceof. constructor. prototype方法比较 如何判断js中的类型呢,先举几个例子: var a = "iamstri ...
- c中的数据类型、常量、变量
一. 数据 1. 什么是数据 生活中时时刻刻都在跟数据打交道,比如体重数据.血压数据.股价数据等.在我们使用计算机的过程中,会接触到各种各样的数据,有文档数据.图片数据.视频数据,还有聊QQ时产生的文 ...
- [转]如何判断js中的数据类型
原文地址:http://blog.sina.com.cn/s/blog_51048da70101grz6.html 如何判断js中的数据类型:typeof.instanceof. constructo ...
- 数据库中字段类型对应的C#中的数据类型
数据库中字段类型对应C#中的数据类型: 数据库 C#程序 int int32 text string bigint int64 binary System.Byte[] ...
- C++中各种数据类型占据字节长度
准备校招笔试的时候经常遇到C++某个数据类型占据多少个字节的问题,查阅了下资料,总结如下: 首先罗列一下C++中的数据类型都有哪些: 1.整形:int.long 2.字符型:char.wchar_t ...
随机推荐
- mybatis学习日志二
一.动态sql语句 if语句 if+where语句 if+set语句 choose(when,otherwise)语句 trim语句 sql片段 foreach语句 总结 bean部分的User类代码 ...
- nginx 实现反向代理、负载均衡、高可用
转自:https://blog.csdn.net/zy1471162851/article/details/91795712 tip: nginx是一款高性能的http 服务器/反向代理服务器及电 ...
- DNS地址列表
DNS测试工具(DNSBench):https://www.grc.com/dns/benchmark.htm DNS列表收集: Google DNS [URL]https://developers. ...
- Vue.JS快速上手(指令和实例方法)
1.声明式渲染 首先,我们要知道Vue是声明式渲染,那啥是声明式渲染,我们只需要告诉程序我们想要什么结果,其他的交给程序来做.与声明式渲染相对的是命令式渲染,即命令我们的程序去做什么,程序就会跟着你的 ...
- Windows-MacOSX-Ubuntu·不同平台文件互传文件共享
时间:2018-11-23 整理:byzqy 标题:Mac下的virtual box 安装的Ubuntu虚拟机互传文件问题 地址:https://blog.csdn.net/qq_20044689/a ...
- VSCode中相对路径设置问题
使用的版本 对于import xxx操作,相对路径为sys.path 对于open("test.txt",'r')文件打开操作,相对路径为os.getcwd() 对于termina ...
- 存储系统管理(二)——Linux系统的swap分区、磁盘加密、磁盘阵列
磁盘驱动器上的空间 , 用作当前未使用部分内存的溢出.这样 , 系统就能在主内存中留出空间用于储存当前正在处理的数据 , 并在系统面临主内存空间不足的风险时提供应急溢出. swap分区的建立: fdi ...
- skynet 开启 https 配置
修改 Makefile Mac 下: # https : turn on TLS_MODULE to add https support TLS_MODULE=ltls TLS_LIB="$ ...
- 如何实现LRU缓存?
面试官:来了,老弟,LRU缓存实现一下? 我:直接LinkedHashMap就好了. 面试官:不要用现有的实现,自己实现一个. 我:..... 面试官:回去等消息吧.... 大家好,我是程序员学长,今 ...
- shell循环语句for
1.方式1 for i in {list[0]} {list[1]} .. do 执行命令 done 2.方式2(三要素循环) for (( 初始值; 判断值; 步长; )) do 执行命令 done