Sum of primes in given range in Go
I don't know Ruby, and cannot infer how similar are the algorithms (if they are significantly different, there is no sense to compare performance). However I can point some performance problems in the go code.

The range loop

    for i, v := range a {
        if v%factor == 0 &amp;&amp; v &gt; factor {
            a[i] = 0
            modified = true
        }
    }


does a lot of unnecessary tests. A (more controlled) for loop seems to suite better:

    for i := factor*factor; i &lt; 10000000; i += factor {
        a[i] = 0
    }




The search for next prime starts from the very beginning of a - rendering the search effectively quadratic. There is no need to search an initial [0, factor] slice; start with factor + 1:

    for _, v := range a[factor + 1:] {