Go Looks Like Another C

1
2
3
4
5
6
7
8
9
10
1 of 10

Go Looks Like Another C

The Go language looks like another C-based language, but from a programming perspective, it feels and works more like a modern dynamic language.

2 of 10

Advanced Features

Go includes a large number of external packages with features such as compression, cryptography, image handling, Web development and operating systems support.

3 of 10

Additional Support

Recently Google has added Go to the list of languages that you can use for programming their App Engine for cloud-based development.

4 of 10

Go Is for Multicore

Go supports multicore programming natively. You can see here all eight cores peaked out as the parallel code was distributed among the cores.

5 of 10

Support for Closures

Like most modern languages, Go includes support for closures, even though it's a strongly typed language.

6 of 10

'Goroutines'

Although the outer loop finished, the individual "goroutines" still had access to the outer loop's variables through closure. Each thread printed the value of the variable, "hello."

7 of 10

Working With Each Core

Go lets you specify the number of cores to use as you launch your "goroutines." Here we're using eight cores.

8 of 10

How it Works

Because we used eight cores, no cores were left for the outer loop, which, in turn, waited until the scheduler allowed it to move forward.

9 of 10

Adjusting to Seven Cores

By adjusting the number of cores down to seven, one will be left for the outer thread.

10 of 10

Conclusion

Indeed, leaving one thread for the outer allowed the loop to finish before all the inner threads even ran.

Top White Papers and Webcasts