小编Sap*_*Sap的帖子

在Swift中向可选数组添加元素

在可选数组的末尾附加元素的正确方法是什么?假设我有一个可选的数组myArray,我想在末尾附加'99'.Append()不适用于nil数组,因此我能找到的唯一解决方案如下,但它看起来并不优雅:

var myArray = [Int]?()

if myArray?.count > 0 {
    myArray?.append(99)
} else {
    myArray = [99]
}
Run Code Online (Sandbox Code Playgroud)

arrays swift

27
推荐指数
3
解决办法
8827
查看次数

从c#LinkedList中删除节点

我试图从System.Collections.Generic.LinkedList中删除一个节点,其中T是一个具有多个属性的对象.我想基于匹配其中一个属性删除节点,例如T.paint.color ="blue".起初我尝试过:

foreach (Car carNode in carList)
{
    if (carNode.paint.color == "blue")
    {
         carList.Remove(carNode);
    }
}
Run Code Online (Sandbox Code Playgroud)

当然,这失败了"在枚举器实例化后修改了集合"错误.MSDN上的示例是一个简单的字符串数组,使用类似于:

sentence.Remove("old");
Run Code Online (Sandbox Code Playgroud)

我的问题是如何(或者如果)我可以使用(使用伪代码):

carList.Remove(the node where carList.paint.color == "blue");
Run Code Online (Sandbox Code Playgroud)

谢谢.

c# collections linked-list

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

是否不可能在带有 Gorilla Mux 的路径中间添加路径参数?

我有以下创建端点的 API 服务器片段,我想将“clusterID”抽象为处理程序中的路径参数。这是路由器部分

func main() {
    router := mux.NewRouter().StrictSlash(true)
    sub := router.PathPrefix("/api/v1").Subrouter()
    sub.Methods("GET").Path("/device/{clusterID}/job").HandlerFunc(authDev(getJob))
    ... 
Run Code Online (Sandbox Code Playgroud)

下面是处理程序的片段。我像往常一样使用mux.Vars(). 如果我向 发送请求localshost/api/v1/device/cluster123/job,处理程序将按预期被调用,但mux.Vars(r)返回一个空映射,而不是按预期返回带有 的映射clusterID=cluster123。Mux 不支持路径中间的变量吗?我知道我可以手动解析路径,但我希望 Mux 为我做这件事。

func getJob(w http.ResponseWriter, r *http.Request) {
    params := mux.Vars(r)
    log.Println(params["clusterID"]) // outputs an empty string
    log.Println(params) // outputs an empty map
    ...
Run Code Online (Sandbox Code Playgroud)

go mux gorilla

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

标签 统计

arrays ×1

c# ×1

collections ×1

go ×1

gorilla ×1

linked-list ×1

mux ×1

swift ×1