小编Koa*_*la3的帖子

将元素添加到scala.collection.mutable.Map的语法是什么?

将元素添加到scala.collection.mutable.Map的语法是什么?

以下是一些失败的尝试:

val map = scala.collection.mutable.Map

map("mykey") = "myval"

map += "mykey" -> "myval"

map.put("mykey","myval")
Run Code Online (Sandbox Code Playgroud)

scala add put mutable map

77
推荐指数
3
解决办法
11万
查看次数

在Go中是否可以迭代自定义类型?

我有一个自定义类型,内部有一片数据.

是否可以通过实现范围运算符所需的某些函数或接口来迭代(使用范围)我的自定义类型?

iterator go

32
推荐指数
4
解决办法
1万
查看次数

Joda时间:将UTC转换为本地

我想将Joda Time UTC DateTime对象转换为本地时间.

这是一种艰苦的方法,它似乎有效.但必须有更好的方法.

这是没有周围声明的代码(在Scala中):

    val dtUTC = new DateTime("2010-10-28T04:00")
    println("dtUTC = " + dtUTC)
    val dtLocal = timestampLocal(dtUTC)
    println("local = " + dtLocal)

 def timestampLocal(dtUTC: DateTime): String = {
    // This is a laborious way to convert from UTC to local. There must be a better way.
    val instantUTC = dtUTC.getMillis
    val localDateTimeZone = DateTimeZone.getDefault
    val instantLocal = localDateTimeZone.convertUTCToLocal(instantUTC)
    val dtLocal = new DateTime(instantLocal)
    dtLocal.toString
  }
Run Code Online (Sandbox Code Playgroud)

这是输出:

dtUTC = 2010-10-28T04:00:00.000 + 11:00 local = 2010-10-28T15:00:00.000 + 11:00

time scala utc local jodatime

6
推荐指数
1
解决办法
9571
查看次数

在 Golang 中,如何在不完全忽略大小写的情况下按字母顺序对字符串列表进行排序?

我希望字符串按字母顺序排序,并控制“A”是否在“a”之前。

在使用 strings.ToLower() 的 Less() 函数中无法实现这一点。有时“A”在“a”之前,有时在之后。

sorting go alphabetical-sort

6
推荐指数
2
解决办法
1万
查看次数

如何制作ArrayBuffer的ArrayBuffer

我想要一个ArrayBuffer的二维数组

像这样的东西:

var myRowOfStrings = new ArrayBuffer[String]
val myArrayOfRows = new ArrayBuffer[ArrayBuffer] // To store many ArrayBuffer[String]
Run Code Online (Sandbox Code Playgroud)

但是Scala编译器不喜欢第二个声明:

scala> val myArrayOfRows = new ArrayBuffer[ArrayBuffer]
<console>:8: error: class ArrayBuffer takes type parameters
       val myArrayOfRows = new ArrayBuffer[ArrayBuffer]
                                       ^
Run Code Online (Sandbox Code Playgroud)

我的语法错了吗?

或者是ArrayBuffer的ArrayBuffer不可能?

collections scala

2
推荐指数
1
解决办法
3325
查看次数

这是strconv.ParseFloat()预期的行为还是一个错误?我怎么能绕过它呢?

运行此代码以查看我的意思:Go Playground演示问题

package main

import (
    "fmt"
    "strconv"
)

func main() {
    // From https://golang.org/src/math/const.go
    var SmallestNonzeroFloat64AsString string = "4.940656458412465441765687928682213723651e-324"
    var SmallestNonzeroFloat64 float64
    var err error
    SmallestNonzeroFloat64, err = strconv.ParseFloat(SmallestNonzeroFloat64AsString, 64)
    if err != nil {
        panic(err)
    }
    fmt.Printf("SmallestNonzeroFloat64 = %g\n", SmallestNonzeroFloat64)
    fmt.Printf("SmallestNonzeroFloat64 = %s\n", strconv.FormatFloat(SmallestNonzeroFloat64, 'f', -1, 64))
}
Run Code Online (Sandbox Code Playgroud)

SmallestNonzeroFloat64math/const.go中定义,我假设它可以用float64变量表示.

但是当它被解析成一个带有strconv.ParseFloat()和打印的float64时,strconv.FormatFloat()结果是四舍五入的.

而不是4.940656458412465441765687928682213723651e-324我得到5e-324(或它的非指数等价,你可以在Go Playground结果中看到).结果四舍五入.

有办法回来4.940656458412465441765687928682213723651e-324吗?

或者这是一个错误?

go

1
推荐指数
1
解决办法
75
查看次数

标签 统计

go ×3

scala ×3

add ×1

alphabetical-sort ×1

collections ×1

iterator ×1

jodatime ×1

local ×1

map ×1

mutable ×1

put ×1

sorting ×1

time ×1

utc ×1