javascript

java

python

c#

android

c++

node.js

php

reactjs

jquery

html

css

ios

.net

git

ruby-on-rails

sql

c

string

ruby

转到功能图

我有定义功能的Go程序。 我也有一个地图,每个功能都应该有一个键。 我怎样才能做到这一点?

我已经尝试过了,但这是行不通的。

func a(param string) {

}

m := map[string] func {
    'a_func': a,
}

for key, value := range m {
   if key == 'a_func' {
    value(param) 
   }
}
trans by 2020-06-30T05:44:58Z

go-数组和切片数据类型

我发现自己对sort.Ints(arrayValue)slice数据类型感到困惑。

在Go文档中,数组描述如下:

在Go和C中,数组的工作方式之间存在主要差异。在Go中,

  • 数组是值。 将一个数组分配给另一个数组将复制所有元素。
  • 特别是,如果将数组传递给函数,它将接收该数组的副本,而不是指向它的指针。
  • 数组的大小是其类型的一部分。 类型[10] int和[20] int是不同的。

功能:

与C家族的所有语言一样,Go中的所有内容都通过   值。 也就是说,一个函数总是得到事物的副本   传递,就好像有一个赋值语句来赋值   参数。 例如,将int值传递给函数   复制int,传递指针值复制   指针,而不是它指向的数据。

为什么当我将传递的变量声明为数组而不是切片时,sort.Ints(arrayValue)会修改传递的变量?

var av = []int{1,5,2,3,7}

fmt.Println(av)
sort.Ints(av)
fmt.Println(av)
return

输出量

[1 5 2 3 7]
[1 2 3 5 7]
trans by 2020-02-12T10:09:35Z

带有ref变量的Func委托

public object MethodName(ref float y)
{
//method
}

如何为该方法定义Func委托?

trans by 2020-01-15T18:19:54Z

如何使用Swi制作随机颜色

如何使用Swift创建随机颜色函数?

import UIKit

class ViewController: UIViewController {

    var randomNumber = arc4random_uniform(20)
    var randomColor = arc4random()

    //Color Background randomly
    func colorBackground() {

        // TODO: set a random color
        view.backgroundColor = UIColor.yellow

    }
}
trans by 2019-11-17T23:18:01Z

.net-您可以从MethodInfo对象中获得Func <T>(或类似功能)吗?

我意识到,一般而言,使用反射会带来性能影响。 (实际上,我本人一点也不喜欢思考;这是一个纯粹的学术问题。)

假设存在一些看起来像这样的类:

public class MyClass {
    public string GetName() {
        return "My Name";
    }
}

在这里忍受我。 我知道,如果我有一个MethodInfo实例称为Func<string>,则可以调用getName.GetParameters().Length == 0。此外,我可以将getName变量设置为Func<string>

现在这是我的问题。 假设我不知道上面的类称为MethodInfo; 我有一些对象Func<string>,但我不知道它是什么。 我可以通过执行以下操作来检查该对象是否具有getName.GetParameters().Length == 0方法:

MethodInfo getName = x.GetType().GetMethod("GetName");

假设MethodInfo不为null。 然后,我无法进一步检查Func<string>getName.GetParameters().Length == 0,在这一点上,我不确定我的getName对象所代表的方法是否可以肯定地转换为Func<string>,这是为什么?

我意识到这里有MethodInfo,而且我也总是可以创建一个Func<string>,例如:

Func<string> getNameFunc = () => getName.Invoke(x, null);

我想我要问的是,是否有任何方法可以将MethodInfo对象转换为它表示的实际方法,这会导致过程中反射的性能损失,但是在那之后便可以直接调用该方法(例如,通过 ,Func<string>或类似内容),而不会降低性能。

我所设想的可能看起来像这样:

// obviously this would throw an exception if GetActualInstanceMethod returned
// something that couldn't be cast to a Func<string>
Func<string> getNameFunc = (Func<string>)getName.GetActualInstanceMethod(x);

(我意识到那不存在;我想知道是否有类似的东西。)

trans by 2019-11-09T16:32:42Z

C#-Func <T>()与Func <T> .Invoke()

我很好奇直接调用Func与在其上使用Invoke()之间的区别。 有区别吗? 是第一个语法糖,并且在下面调用Invoke()吗?

public T DoWork<T>(Func<T> method)
{
    return (T)method.Invoke();
}

VS

public T DoWork<T>(Func<T> method)
{
    return (T)method();
}

还是我完全走错了路:)谢谢。

trans by 2019-09-29T02:49:17Z

go - golang“undefined”函数在另一个文件中声明?

我试图编写一个基本的go程序,它调用不同文件上的函数,但是同一个软件包的一部分。 但是,它返回:

undefined: NewEmployee

这是源代码:

main.go

package main

func main() {
emp := NewEmployee()    
}

employee.go

package main

type Employee struct {
    name string
    age int
}   

func NewEmployee() *Employee {
    p := &Employee{}
    return p
}

func PrintEmployee (p *Employee)  {
    return "Hello world!"
}

提前致谢

trans by 2019-08-12T16:25:29Z

c# - 将.net Func <T>转换为.net Expression <Func <T >>

使用方法调用很容易从lambda转到Expression

public void GimmeExpression(Expression<Func<T>> expression)
{
    ((MemberExpression)expression.Body).Member.Name; // "DoStuff"
}

public void SomewhereElse()
{
    GimmeExpression(() => thing.DoStuff());
}

但我想将Func转换为表达式,仅在极少数情况下......

public void ContainTheDanger(Func<T> dangerousCall)
{
    try 
    {
        dangerousCall();
    }
    catch (Exception e)
    {
        // This next line does not work...
        Expression<Func<T>> DangerousExpression = dangerousCall;
        var nameOfDanger = 
            ((MemberExpression)dangerousCall.Body).Member.Name;
        throw new DangerContainer(
            "Danger manifested while " + nameOfDanger, e);
    }
}

public void SomewhereElse()
{
    ContainTheDanger(() => thing.CrossTheStreams());
}

无效的行给了我编译时错误Cannot implicitly convert type 'System.Func<T>' to 'System.Linq.Expressions.Expression<System.Func<T>>'.显式强制转换不能解决这种情况。 我有一个设施可以做到这一点吗?

trans by 2019-07-15T12:58:34Z

c# - 在设计应用程序时如何使用Func <>和Action <>?

我可以找到关于Func&lt;&gt;的所有例子。 和行动&lt;&gt; 很简单,如下所示,你可以看到它们在技术上如何工作,但我希望看到它们用在例子中,它们解决以前无法解决的问题,或者只能以更复杂的方式解决,即我知道它们是怎样的 工作,我可以看到它们简洁而强大,所以我想更深入地了解它们解决了什么样的问题以及如何在应用程序设计中使用它们。

您以何种方式(模式)使用Func&lt;&gt; 和行动&lt;&gt; 解决实际问题?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TestFunc8282
{
    class Program
    {
        static void Main(string[] args)
        {
            //func with delegate
            Func<string, string> convert = delegate(string s)
            {
                return s.ToUpper();
            };

            //func with lambda
            Func<string, string> convert2 = s => s.Substring(3, 10);

            //action
            Action<int,string> recordIt = (i,title) =>
                {
                    Console.WriteLine("--- {0}:",title);
                    Console.WriteLine("Adding five to {0}:", i);
                    Console.WriteLine(i + 5);
                };

            Console.WriteLine(convert("This is the first test."));
            Console.WriteLine(convert2("This is the second test."));
            recordIt(5, "First one");
            recordIt(3, "Second one");

            Console.ReadLine();

        }
    }
}
trans by 2019-06-15T16:01:09Z

c# - Func <T>没有参数

我可以将带有out参数的方法作为Func传递吗?

public IList<Foo> FindForBar(string bar, out int count) { }

// somewhere else
public IList<T> Find(Func<string, int, List<T>> listFunction) { }

Func需要一个类型,因此不会在那里编译,并且调用listFunction需要一个int并且不允许输入。

有没有办法做到这一点?

trans by 2019-05-19T23:11:08Z

c# - 为什么Func <T,bool>而不是Predicate <T>?

这只是一个好奇的问题,我想知道是否有人有一个很好的答案:

在.NET Framework类库中,我们有两个方法:

public static IQueryable<TSource> Where<TSource>(
    this IQueryable<TSource> source,
    Expression<Func<TSource, bool>> predicate
)

public static IEnumerable<TSource> Where<TSource>(
    this IEnumerable<TSource> source,
    Func<TSource, bool> predicate
)

为什么他们使用Func<TSource, bool>而不是Predicate<TSource>? 似乎Predicate<TSource>仅用于List<T>Array<T>,而Func<TSource, bool>几乎全部用于所有QueryableEnumerable方法和扩展方法......具体是什么?

trans by 2019-03-15T14:36:44Z

1 共1页