1.go 项目目录结构
2.go build生成二进制文件
go build hello.go
go build -o hellotest hello.go #可以指定二进制文件名
3.go run 以脚本形式运行
go run hello.go
4.定义变量方法
package main
import "fmt"
//全局声明
var n1 = 100
var n2 = 200
var name = "xiaohuihui"
//一次性声明
var (
n3 = 300
n4 = 900
name2 = "mary"
)
func main(){
var i int
fmt.Println("i=",i) //默认值0
var num = 10.11
fmt.Println(num)
name := "tom" //等价于 var name string name = "tom"
fmt.Println(name)
var n1, n2, n3 int //多变量声明
fmt.Println(n1,n2,n3)
var a, b, c = 100, "tom", 111
fmt.Println(a,b,c) //a = 100,b="tom",c=111
//类型推导
a, b, c := 100, "tom", 111
fmt.Println(a,b,c) //a = 100,b="tom",c=111
}
5.变量注意
package main
import "fmt"
func main(){
var i int = 10
i = 30
// 只能同一类型不断变化 不正确赋值i = "50"
//var i int = 50 //变量在同一作用域不能重名
}
6.加号运算
package main
import "fmt"
func main(){
var a,b int = 1,2
var resp int
resp = a + b
fmt.Println(resp)
var str1 = "gello"
var str2 = "world"
var res = str1 + str2
fmt.Println(res)
}
7.整数,有符号整数类型int int8,int16,int32,int64 ,无符号整数uint,uint8,uint16,uint32,uint64
package main
//import "fmt"
import (
"fmt"
"unsafe"
)
func main(){
var j int8 = -128 //int8 占1个字节,1个字节占8个bit 小于-128回报错
fmt.Println(j)
var i uint8 = 255 //uint 大于255回报错 0~255
fmt.Println(i)
var c byte = 255 // byte范围0~255,经常用来存字母
fmt.Printf("j 的类型%T", j) //Printf格式化输出变量类型
fmt.Printf("j 的类型%T, 占用字节数%d", j, unsafe.Sizeof(j))
}
8.浮点型float32单精度,占用4个字节,float64双精度(默认使用64),占用8个字节,浮点数都是有符号的
package main
import (
"fmt"
)
func main(){
var price float32 = 89.123
fmt.Println(price)
var num1 float32 = -89.11111111111 //精度损失
var num2 float64 = -123.19100002333
fmt.Println(num1)
fmt.Println(num2)
var num3 = 1.1
fmt.Printf("num3数据类型 %T\n",num3)
//科学计数法表示小数
num4 := 5.1234566e2
fmt.Println(num4)
}
注:
1.go语言入口是main函数
2.go语言严格区分大小写
3.go方法由一条一条语句构成,每条语句会自动加分号
4.go是一行一行编译因此一行一条语句,否则编译报错
5.go定义的变量或引入的包必须用到,否则报错
6.大括号成对出现
有疑问加站长微信联系(非本文作者)