一、hello word及运行
hello world:
package main //把这个test.go 归属到main
import "fmt" //引入一个 fmt 包
func main(){
//输出hello
fmt.Println("hello")
fmt.Println("hello")
}
在 dom 窗口运行先将 .go 文件转换为 .exe 文件然后执行 .exe文件运行
go build hello.go
也可以直接执行以下命令,但也是将 .go 文件转换为了 .exe 文件然后运行的
go run hello.go
指定文件名
go build -o myhello.exe hello.go
将程序转成可执行的文件,然后复制到 bin
目录中
go install
跨平台编译
Wndows
下
SET CGO_ENABLED=0 // 禁用CGO
SET GOOS=linux // 目标平台是linux
SET GOARCH=amd64 // 目标处理器架构是amd64
Mac 下编译
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
Linux 下编译
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
Go语言开发程序的注意事项
1)Go源文件以"go"为扩展名。
2) Go应用程序的执行入口是main(函数。这 个是和其它编程语言(比如java/c)
3) Go语言严格区分大小写。
4) Go方法由一条条语句构成,每个语句后不需要分号(Go语言会在每行后自动加分号), 这也体现出Golang的简洁性。
5) Go编译器是一行行进行编译的,因此我们一行就写一条语句,不能把多条语句写在同一个,否则报错.
6)go语言定义的变量或者import的包如果没有使用到,代码不能编译通过。
7)大括号都是成对出现的,缺一不可。
go语言的注释有两种:行注释和块注释
// 行注释
//fmt.Println("hello,world")
fmt.Println("hello,world")
/*
块注释
*/
/* var num = 10
fmt.Println(num) */
官方建议使用行注释。
变量
package main
import "fmt"
/*
使用 var 关键字生命变量
*/
// 生命变量
//var name string
//var age int
//var isOk bool
/*
批量声明
*/
var (
name string // 默认值为 ""
age int // 默认值为 0
isOk bool // 默认值为 false
)
func main() {
// 在 go 语言中,声明并赋值,一定要使用,否则会报错
name = "光头小小强007"
age = 18
isOk = true
fmt.Println(isOk)
fmt.Println(age)
fmt.Printf("name:%s\n", name) // %s 占位符,后面的name 代替\
}
赋值
// 声明并赋值
var s1 string="王海涛"
// 根据数据自动匹配类型
var s2="20"
// 简短变量声明
s3 := "卧槽无情"
常量
const pi = 3.1415926
// 批量赋值
const (
isOk = 200
isNotFount = 400
)
// 如果批量赋值中有一行没有赋值则合上一行的值相同
const (
n1 = 100
n2
n3
)
// iota在const关键字出现时将被重置为0。const中每新增一行常量声明将使iota计数一次
const (
a1=iota
a2
a3
)
const (
b1=iota
b2
_
b3
)