Modulinos: Difference between revisions

Added Go
(Added Go)
Line 534:
 
cr .( Why aren't you running this as a script? It only provides a constant.)</lang>
 
=={{header|Go}}==
Go doesn't support scripted main directly.
 
Although the [https://github.com/mcandre/modulinos examples] linked to above include an example for Go, this is only a work around, not an emulation. To emulate a modulino, we need to proceed as in the [[https://rosettacode.org/wiki/Executable_library#Go Executable library]] task and split the 'main' package into two.
 
First create these two files in the 'modulino' directory:
<lang go>// modulino.go
package main
 
import "fmt"
 
func MeaningOfLife() int {
return 42
}
 
func libMain() {
fmt.Println("The meaning of life is", MeaningOfLife())
}</lang>
 
<lang go>// modulino_main.go
package main
func main() {
libMain()
}</lang>
 
To emulate a modulino:
{{out}}
<pre>
$ go run modulino
 
The meaning of life is 42
</pre>
 
Now create this file in the 'mol' directory:
<lang go>// mol.go
package main
 
import "fmt"
 
func main() {
fmt.Println("The meaning of life is still", MeaningOfLife())
}</lang>
and copy modulino.go to the 'mol' directory. The library can then be used in the 'normal' way:
{{out}}
<pre>
$ go run mol
 
The meaning of life is still 42
</pre>
 
=={{header|Groovy}}==
9,482

edits