package main
import (
"fmt"
)
func main() {
fmt.Print("Hello world\n")
}
https://play.golang.org/p/sa0vP_nSS2V
package main
import (
"fmt"
"os"
)
func main() {
fmt.Fprint(os.Stdout, "Hello world\n")
}
https://play.golang.org/p/0s6y_hWixrc
package main
import (
"os"
)
func main() {
os.Stdout.Write([]byte("Hello world\n"))
}
https://play.golang.org/p/Qu6s4ZnKxA7
package main
import (
"syscall"
)
func main() {
syscall.Write(1, []byte("Hello world\n"))
}
https://play.golang.org/p/yhxwloZUNxK
package main
import (
"syscall"
"unsafe"
)
func main() {
var buf = []byte("Hello world\n")
syscall.Syscall(1, 1, uintptr(unsafe.Pointer(&buf[0])), 12)
}
https://play.golang.org/p/OjruVhYIY6T
package main
import (
"syscall"
"unsafe"
)
func main() {
var bytes = [6]byte{'H','e','l','l','o','\n'}
syscall.Syscall(1, 1, uintptr(unsafe.Pointer(&bytes[0])), 6)
}
https://play.golang.org/p/NjDQVNyk-Hd
-- a.s --
TEXT main·main(SB),0,$0
MOVQ $231, AX
MOVQ $0, DI
SYSCALL
-- main.go --
package main
import (
// "syscall"
// "unsafe"
)
func main()
//{
// var bytes = [6]byte{'H','e','l','l','o','\n'}
// syscall.Syscall(1, 1, uintptr(unsafe.Pointer(&bytes[0])), 6)
//}
https://play.golang.org/p/V_q7p2DJLmg
-- a.s --
TEXT main·main(SB),0,$0
MOVQ $1, AX // write
MOVQ $1, DI // stdout
LEAQ main·bytes(SB), SI // address
MOVQ $6, DX
SYSCALL
MOVQ $231, AX
MOVQ $0, DI
SYSCALL
-- main.go --
package main
var bytes = [6]byte{'H','e','l','l','o','\n'}
func main()
https://play.golang.org/p/gG3s8X4PPrJ
-- a.s --
#define READONLY 8
DATA array+0(SB)/1, $'H'
DATA array+1(SB)/1, $'e'
DATA array+2(SB)/1, $'l'
DATA array+3(SB)/1, $'l'
DATA array+4(SB)/1, $'o'
DATA array+5(SB)/1, $'\n'
GLOBL array(SB),READONLY, $6
TEXT main·main(SB),0,$0
MOVQ $1, AX // write
MOVQ $1, DI // stdout
LEAQ array+0(SB), SI // address
MOVQ $6, DX // len
SYSCALL
MOVQ $231, AX
MOVQ $0, DI
SYSCALL
-- main.go --
package main
func main()
https://play.golang.org/p/ZvWmdbiLX5c
-- a.s --
#define READONLY 8
DATA array+0(SB)/1, $0x48
DATA array+1(SB)/1, $0x65
DATA array+2(SB)/1, $0x6c
DATA array+3(SB)/1, $0x6c
DATA array+4(SB)/1, $0x6f
DATA array+5(SB)/1, $0x0a
GLOBL array(SB),READONLY, $6
TEXT main·main(SB),0,$0
MOVQ $1, AX // write
MOVQ $1, DI // stdout
LEAQ array+0(SB), SI // address
MOVQ $6, DX // len
SYSCALL
MOVQ $231, AX
MOVQ $0, DI
SYSCALL
-- main.go --
package main
func main()