float_array.go

package app

import (
    "fmt"
    "log"
    "sort"
    "strconv"
    "strings"
)
//这个文件相关的代码不需要解释了吧!!!
type FloatArray []float64

func (a *FloatArray) Set(param string) error {
    for _, s := range strings.Split(param, ",") {
        v, err := strconv.ParseFloat(s, 64)
        if err != nil {
            log.Fatalf("Could not parse: %s", s)
            return nil
        }
        *a = append(*a, v)
    }
    sort.Sort(*a)
    return nil
}

func (a FloatArray) Swap(i, j int)      { a[i], a[j] = a[j], a[i] }
func (a FloatArray) Less(i, j int) bool { return a[i] > a[j] }
func (a FloatArray) Len() int           { return len(a) }

func (a *FloatArray) String() string {
    var s []string
    for _, v := range *a {
        s = append(s, fmt.Sprintf("%f", v))
    }
    return strings.Join(s, ",")
}
				
时间: 2024-12-06 11:52:25

float_array.go的相关文章

python数据分析美国大选项目实战(三)

项目介绍 项目地址:https://www.kaggle.com/fivethirtyeight/2016-election-polls 包含了2015年11月至2016年11月期间对于2016美国大选的选票数据,共27列. 项目目的:分析每个月的民意调查统计趋势. 涉及知识点: 高阶函数filter numpy读取文本文件 处理日期格式数据 numpy的切片和索引 numpy的统计方法 列表推导式 数据结构zip Matplotlib进行简单的数据可视化 项目代码 # -*- coding:

mongodb - 前端form表单数据传输,在保存和清除的数据格式的处理程序的 - 非递归

//处理时间段,将ISODate("2014-10-09T18: 37: 50.0Z") 兑换 2014-10-09 18:37:50这样的格式 //截至处理6层树形结构数据,当多维数组key,$product_date_col中的随意一个字符,那么就会被处理. public static function processMongoGetDate($product){ foreach($product as $k1=>$v1){ if(!is_array($v1)&&am

mongodb - 前端form表单传递数据,在保存和取出的数据格式处理函数 - 非递归

//处理时间部分,将ISODate("2014-10-09T18: 37: 50.0Z") 转换成 2014-10-09 18:37:50这种格式 //最多处理6层树形结构数据,当多维数组中的key,包含数组$product_date_col中的任意一个字符,那么就会被处理. public static function processMongoGetDate($product){ foreach($product as $k1=>$v1){ if(!is_array($v1)&

在ros-kinetic与gazebo仿真环境下给turtlebot配置hokuyo激光雷达

背景 由于我之前按照百度上博客教程给gazebo上的turtlebot配置rplidar的时候一直失败,后来发现是因为在ros-indigo和kinetic下的一些差异导致配置失败,于是又搜了一些教程成功配置了hokuyo的激光雷达,并且能够较完美地运行,感觉比较激动,所以想写个教程避免自己以后再次踩坑. 准备 安装好ros-turtlebot以及ros-turtlebot-apps,可以选择源码安装或者apt安装 增加hokuyo模块 ( 如果是使用apt安装的apps,首先需要  sudo