go

go执行命令列表

作者: followtry | 2022-02-16 | 最近修改: 2022-02-16 | 字数 752 | 阅读
「编辑」 「本文源码」

命令

#执行运行go文件
go run hello.go 

#编译成二级制文件并执行
go build hello.go & ./hello

# go获取包的命令
go get abc.com/dep
# go获取包的指定版本
go get abc.com/dep@v0.1.0

#整理依赖
go mod tidy

#固化vendor到本地目录,不依赖网络下载
go mod vendor 
或者 go build -mod=vendor

基础语法



//获取包

//字符串连接用加号
fmt.Println("hello" + ",,,world")

//变量声明,中间必须空格分开
var age int = 12

//格式化字符串,%s:字符串,%d:数字
var age int = 12
var name = "zhagnsan"
var targetS = fmt.Sprintf("this is %s,his age is %d",name,age)
fmt.Println(targetS)

//多变量声明
var id1, id2 = 111, 222

//因式分解方式申明变量,适合声明全局变量
var (
    name2 string
    age2 int
)

//只允许在函数体内出现
name3, age3 := "zhangsan3", 23

//常量命名
const name4 string = "zhagnsan4"

//for循环
for init; condition; post { }
for condition { }
for { }

// foreach 循环,第一个数是index,第二个数是实际值
var ss = []string{"123","234","345","456"}
for a,b := range ss {
    fmt.Println(a,b)
}

// 函数使用
func test01(a int,b string) string {
	return b + "," + strconv.Itoa(a)
}

var a = test01(12345,"hello")
fmt.Println(a)

//初始化数组,不存在的设置默认值。后5个数值都显示0
var intArr = [10] int{1,2,3,4,5}
//不确定长度的数组,可以在[]中加上...
var intArr2 = [...]int{2,3,5,6,7}
//在数组的指定位置上设置数值
var intArr3 = [10] int {1:3,9:6,5:3}

//定义指针类型
var p = 13  //普通变量
var p1  *int //指针变量
p1 = &p //将普通变量p的内存地址复制给指针变量p1
fmt.Println(p1)  //打印出p的内存地址
fmt.Println(*p1) //打印出p的内存地址上的值。 指针指向的指针变量表示当前指针变量的值

//切片
var sliceList = make([]string,20)
//在原有切面大小后面追加元素,原有切面会扩容
sliceList = append(sliceList, "zhangsan","lisi","wangwu","zhaoliu")

结构体

可以将结构体比作java类使用

// Person 人员信息
type Person struct {
	name string
	age int
	address string
	id string
	remark string
}

// Employee 员工信息
type Employee struct {
	person Person
	salary      float64
	companyName string
	companyAddr string
}

var p1 = Person{name: "张三",age: 24}
var e1 = Employee{companyName: "高德",companyAddr: "首开广场",person: p1}
fmt.Println(e1)
fmt.Println("公司名称:"+e1.companyName)
fmt.Println("公司地址:"+e1.companyAddr)
fmt.Println("员工名称:"+e1.person.name)
fmt.Println("员工年龄:"+ strconv.Itoa(e1.person.age))

Map

var mapKv = make(map[int]string)
mapKv[100] = "zhangsan"
mapKv[101] = "zhangsan2"
mapKv[104] = "zhangsan3"
fmt.Println(mapKv)
//通过range遍历输出
for key,value := range mapKv {
    fmt.Println(fmt.Sprintf("key: %d,value:%s",key,value))
}

版权声明:本文由 followtry 在 2022年02月16日发表。本文采用CC BY-NC-SA 4.0许可协议,非商业转载请注明出处,不得用于商业目的。
文章题目及链接:《go执行命令列表




  相关文章:

「游客及非Github用户留言」:

「Github登录用户留言」:

TOP