基础命令
go语言基础命令
go build * 指定编译GO文件,我们就可以直接执行。
go run * 指定编译并且执行我们的GO
go fmt 格式化代码
go install * 编译并安装一个package
go get * 下载一个包
go test 运行当前项目的所有测试文件
go version 查看当前go语言版本
go env GOROOT 安装路径
基础类型
uint8 整数类型 0-255 2的8次方
uint16 整数类型 0-65535 2的16次方
uint32 整数类型 0-4294967295 2的32次方
uint64 整数类型 0- 64位整数类型
基础语法
package main
import "fmt"
func main() {
//定义变量
var a int
var b string
//输出数据类型和数据值 int %!V(int=0)
fmt.Printf("%T %V \n", a, a)
//直接打印我们定义的变量
fmt.Println(a, b)
//多变量定义
var (
c int
f string
d float32
g []int
l [3]int
//也可以直接赋值
e int32 = 200
)
//输出 0 0 [] 200 [0 0 0]
fmt.Println(c, f, d, g, e, l)
}
不一样的变量定义
package main
import "fmt"
//定义全局变量
var s = "njsnjdnsj"
func main() {
//不指定类型定义
var (
c = 50
a = 50.665
)
//也可以这么定义
d := 25
//输出 int %!V(int=50)
fmt.Printf("%T %V \n", c, c)
//输出 float64 %!V(float64=50.665)
fmt.Printf("%T %V \n", a, a)
//输出 int %!V(int=25)
fmt.Printf("%T %V \n", d, d)
}
多变量定义和匿名变量
package main
import "fmt"
func main() {
//多变量定义
d, e, s := 25, "1222", "dsad"
//定义匿名变量 可以使用 _ 来代替,匿名变量不会占用空间和分配内存
f, _, _ := 25, "1222", "dsad"
fmt.Printf("%T %V \n", d, d)
fmt.Printf("%T %V \n", e, e)
fmt.Printf("%T %V \n", s, s)
fmt.Printf("%T %V \n", f, f)
}
多重赋值
func main() {
//多重赋值
d := 20
c := 30
//输出 20 30
fmt.Println(d, c)
c, d = d, c
//输出 30 20
fmt.Println(d, c)
}
byte 和 rune以及ASCLL
func main() {
//byte 和 rune其实就是int别名
var a byte = 100
var b rune = 200
//byte带包ASCLL码字符 uint8的别名
var e byte = 'G'
//rune带包ASCLL码字符 uint32的别名
var f rune = 'G'
var g int = 97
//uint8 , %!V(uint8=100)
fmt.Printf("%T , %V \n", a, a)
//int32 , %!V(int32=200)
fmt.Printf("%T , %V \n", b, b)
fmt.Printf("%T , %V \n", e, e)
fmt.Printf("%T , %c \n", f, f)
//%c 反向打印ASCLL码
fmt.Printf("%T , %c \n", g, g)
}
通用格式
func main() { var a int = 100 str := "你好" //%v表示输出默认格式数据的 value 你好 fmt.Printf("%v \n", str) //表示输出数据类型和对象类型 int fmt.Printf("%T \n", a) //用于布尔类型 true fmt.Printf("%t \n", true) fmt.Printf("%c \n", a) //输出整型,否则就会输出%!d(类型=值) 100 fmt.Printf("%d \n", a) //输出二进制的数组 fmt.Printf("%b \n", a) //表示必须为8位,不足的话前面补0 00000100 fmt.Printf("%08d \n", a) //表示必须为8位,不足的话前面补空格 100 fmt.Printf("%8d \n", a) //对结果进行赋值 关键字:Sprintln str = fmt.Sprintln("%8d \n", a) fmt.Println(str) }
浮点型以及字符串输出
func main() {
//浮点型 23.500000 相当于%f6
fmt.Printf("%f \n", 23.5)
//浮点型 23.52 四舍五入切割保留2位
fmt.Printf("%.2f \n", 23.5222)
//字符串 区块链技术 没有双引号
fmt.Printf("%s \n", "区块链技术")
//字符串 "区块链技术" 有双引号
fmt.Printf("%q \n", "区块链技术")
// 'Ǵ'
fmt.Printf("%q \n", 500)
//对数组进行输出 ABC
arr := []byte{'A', 'B', 'C'}
fmt.Printf("%s \n", arr)
}