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 ...
随机推荐
- 【开发工具】idea常用配置
1. 设置鼠标滚轮修改字体大小 我们可以勾选此设置后,增加Ctrl + 鼠标滚轮 快捷键来控制代码字体大小显示. 2. 设置鼠标悬浮提示 3. 设置自动导包功能 Add unambiguous im ...
- C++ 矩形交集和并集的面积-离散化
//离散化,x,y坐标分别按从小到大排序 //离散化 //1.首先分离出所有的横坐标和纵坐标分别按升序存入数组X[ ]和Y[ ]中. //2. 设数组XY[ ][ ].对于每个矩形(x1,y1)(x2 ...
- javacc在stanfordnlp中的应用
总结: 这个javacc感觉比较复杂,在于stanfordnlp中 p.p1 { margin: 0; font: 11px Monaco } CoreMapExpressionExtractor这个 ...
- Linux 替换^M字符
Linux 替换^M字符 在Linux下使用vim 来查看一些在Windows下创建的文本文件,有时会发现在行尾有一些"^M". 1.使用dos2unix命令.一般的分发版本中都带 ...
- JDBC基础篇(MYSQL)——使用statement执行DML语句(insert/update/delete)
注意:其中的JdbcUtil是我自定义的连接工具类:代码例子链接: package day02_statement; import java.sql.Connection; import java.s ...
- TCP模拟QQ聊天功能
需求: 模拟qq聊天功能:实现客户端与服务器(一对一)的聊天功能,客户端首先发起聊天,输入的内容在服务器端和客户端显示,然后服务器端也可以输入信息,同样信息在客户端和服务端显示. 提示: 客户端 1) ...
- springboot全局异常封装案例
@ControllerAdvice三个场景:>https://www.cnblogs.com/lenve/p/10748453.html 全局异常处理 全局数据绑定 全局数据预处理 首先定义一个 ...
- mybatis第一个程序随笔
今天继续学习了解如何写一个mybatis程序 创建了Dao层 1.1 创建一个UserDao接口 1.2 创建UserMapper.xml文件 在mybaits中文手册查找配置信息 <?xml ...
- .Net中异步任务的取消和监控
相关类型: CancellationTokenSource 主要用来创建或取消令牌 CancellationToken 监听令牌状态,注册令牌取消事件 OperationCanceledExcepti ...
- ES6中函数调用自身需要注意的问题
在传统的递归调用中,可以采用如下方式 function sum(n) { return sum(n - 1) + n;} 但如今es6盛行,为了保持代码一致性,可以采用两种解决方式. 第一种,将thi ...