go的demo创建
1.go 语言使用插件,go 与 code Runner,软件visual Studio Code
2.go命令
build:编译包与依赖
clean:移除对象文件
env:环境变量依赖
bug:启动错误报告
get:获取包 //需要go mod 创建
list:列出包
run:编译并运行go程序
test:运行测试
tool:运行go提供的工具
version:显示go版本
vet:运行go tool vet
3.go实现流程
1.创建项目
2.初始化项目
3.创建包
4.创建模块
5.相互调用
4.引入包demo
//user.go
package user
func Hell() string{
return "hello"
}
//main.go
package main
import "mypro/user"
import "fmt"
func main() {
s:=user.Hell()
fmt.Println("s:%n",s)
}
基础用法
1.数据类型
布尔型
数字类型
字符串类型
派生类型 //指针、结构体、切片
2.变量、常量、插值使用
//变量
var age int
var name string
var (
name string
age init
)
//常量
const PI float64=3.14
const PI2=3.1415
iota //常量,每次调用+1
a1=iota //0
_ //空
a2=iota //2
//插值
a1=iota //0
a2=100 //100
a3=iota //2
3.布尔类型使用
age :=16
r:=age>=18
if r{
fmt.Println("34")
}else{
fmt.Println("43")
}
4.字符串
字符串 “ ”双引号,单行 ··反引号,多行,不使用单引号‘’
字符串切片
s:="hello worild"
a:=2
b:=5
s[a] //l
s[a:b] //llo
s[a:] //llo world
len(s) //字符串长度 11
5.结构体
type website struct{
name string
age int
}
site :website(name:'ak',age:12)
//结构体内变量较多时候,简写
type Person struct{
name,email string
age,money int
}
tom:=Person{
"tom","6956@qq.com",15,20000
}
6.函数使用
函数有内置方法,len(s1)数组长度,cap(s1) 容量
func f3 (a int,b int)(ret int){ //a,b传参,ret是返回值 如果都没有,可以写 func f3()int{}
ret =a+b
return ret
}
func main() {
var n=f3(1,2)
fmt.Printf("%v", n)
}
7.切片
数组切片,相比与数组,长度随意
切片可以自由添加,但是数组要先扩容再添加
//切片
var a1 []int
var m=make([]int,2)
s:=[]int{1,3,45,6,7}
//数组
s:=[3]int{1,2,3} //3就是数组容量,也是数组长度
s:=[...]int{1,2,3}
8.map
var m1=map[string]string{"name":"tom","age":"20","email":"tom@gmail.com"}
m1["qq"]="66666"