码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Flux脚本语言基础使用-数据类型(InFluxDB 查询语言)


    Flux数据类型基础

    • 1、基本数据类型
      • Boolean 布尔(true、false)
      • Bytes 字节 (bytes)
      • Duration 持续时间类型
      • Regular expression 正则表达式类型
      • String 字符串
      • Time 时间类型
      • Float 64位浮点数(IEEE 754-2019)
      • Integer (64位整数)
      • UIntegers (无符号整数)
      • Null (表示缺失或者未知的值)
    • 2、复合数据类型
      • 记录类型 record
      • 记录(record)的操作
      • 数组 array
      • 字典 dictionary
      • 函数 function

    Flux 数据类型定义了一组可能的值和操作(function 类型)。 Flux 是静态类型的,数据类型不用显式声明,并且类型是从变量的使用方式推断出来的。

    1、基本数据类型

    Boolean 布尔(true、false)

    Bytes 字节 (bytes)

    Duration 持续时间类型

    比如range函数使用的:
    1ns
    1h
    1w
    3d12h4m25s

    Regular expression 正则表达式类型

    /^[a-z0-9]+$/

    String 字符串

    Time 时间类型

    2021-01-01
    2021-01-01T00:00:00Z
    2021-01-01T00:00:00.000Z

    Float 64位浮点数(IEEE 754-2019)

    0.0
    123.4
    -123.456

    Integer (64位整数)

    0
    2
    1254
    -1254

    UIntegers (无符号整数)

    uint(v: 123)

    Null (表示缺失或者未知的值)

    2、复合数据类型

    Flux 复合类型是从基本类型构造的类型

    记录类型 record

    记录类型是一组键值对。
    {foo: "bar", baz: 123.4, quz: -2}

    {"Company Name": "ACME", "Street Address": "123 Main St.", id: 1123445}

    获取记录值:

    c = {name: "John Doe", address: "123 Main St.", id: 1123445}
    
    c.name
    // Returns John Doe
    
    c.id
    // Returns 1123445
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    或者:

    c = {"Company Name": "ACME", "Street Address": "123 Main St.", id: 1123445}
    
    c["Company Name"]
    // Returns ACME
    
    c["id"]
    // Returns 1123445
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    获取嵌套记录的值:

    customer = 
        {
            name: "John Doe",
            address: {
                street: "123 Main St.",
                city: "Pleasantville",
                state: "New York"
            }
        }
    
    customer.address.street
    // Returns 123 Main St.
    
    customer["address"]["city"]
    // Returns Pleasantville
    
    customer["address"].state
    // Returns New York
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    记录(record)的操作

    扩展记录
    使用 with 运算符来扩展记录。 如果指定的键存在,with 运算符将覆盖记录属性,如果键不存在,则添加新的属性。

    c = {name: "John Doe", id: 1123445}
    
    {c with spouse: "Jane Doe", pet: "Spot"}
    // Returns {id: 1123445, name: John Doe, pet: Spot, spouse: Jane Doe}
    
    • 1
    • 2
    • 3
    • 4

    列出记录中的键
    导入 experimental 包。
    experimental.objectKeys 返回记录中的键数组。

    import "experimental"
    
    c = {name: "John Doe", id: 1123445}
    
    experimental.objectKeys(o: c)
    // Returns [name, id]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    数组 array

    数组类型是相同类型值的有序序列

    ["1st", "2nd", "3rd"]
    
    [1.23, 4.56, 7.89]
    
    [10, 25, -15]
    
    • 1
    • 2
    • 3
    • 4
    • 5

    字典 dictionary

    字典类型是具有相同类型的键和相同类型的值的键值对的集合。

    [0: "Sun", 1: "Mon", 2: "Tue"]
    
    ["red": "#FF0000", "green": "#00FF00", "blue": "#0000FF"]
    
    [1.0: {stable: 12, latest: 12}, 1.1: {stable: 3, latest: 15}]
    
    • 1
    • 2
    • 3
    • 4
    • 5

    字典操作:
    1)获取值,需要导入import “dict”

    import "dict"
    
    positions =
        [
            "Manager": "Jane Doe",
            "Asst. Manager": "Jack Smith",
            "Clerk": "John Doe",
        ]
    
    dict.get(dict: positions, key: "Manager", default: "Unknown position")
    // Returns Jane Doe
    
    dict.get(dict: positions, key: "Teller", default: "Unknown position")
    // Returns Unknown position
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    函数 function

    函数类型是一组执行操作的参数。

    () => 1
    
    (a, b) => a + b
    
    (a, b, c=2) => { 
        d = a + b
        return d / c
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    functionName = (functionParameters) => functionBody
    
    • 1

    例子1:

    square = (n) => n * n
    
    square(n:3)
    // Returns 9
    
    • 1
    • 2
    • 3
    • 4

    例子2:

    multiply = (x, y) => x * y
    
    multiply(x: 2, y: 15)
    // Returns 30
    
    • 1
    • 2
    • 3
    • 4

    带默认参数的例子:

    pow = (n, p=10) => n ^ p
    
    pow(n: 2)
    // Returns 1024
    
    • 1
    • 2
    • 3
    • 4

    例子:

    // Function that returns the value 1
    () => 1
    
    // Function that returns the sum of a and b
    (a, b) => a + b
    
    // Function with default values
    (x=1, y=1) => x * y
    
    // Function with a block body
    (a, b, c) => { 
        d = a + b
        return d / c
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
  • 相关阅读:
    基于 Debian 稳定分支发行版的Zephix 7 发布
    大数据面试之hive重点(二)
    如何并行化普通的python代码
    【数据结构】排序(3)—堆排序&归并排序
    Java项目:企业OA管理系统(java+SSM+HTML+LayUI+bootstrap+mysql)
    Android与单片机 | 开发板 | 智能硬件 | 智能设备 | 数据协议 |开发总结
    平均精度(AP)
    Vue刷新页面VueX中数据清空了,怎么重新获取?
    flutter创建不同样式的按钮,背景色,边框,圆角,圆形,大小都可以设置
    vue-使用input封装上传文件图片全局组件
  • 原文地址:https://blog.csdn.net/weixin_39554102/article/details/126010204
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号