Golang语言快速上手到综合实战笔记(Go语言、Beego框架、高并发聊天室、爬虫)

1.go get 本质是:代码管理工具(git) + go install

2.struct

go 语言没有private,public,protected 这样的关键字
要使某个符号对其他包package 可见(即可以访问),需要将该符号定义为以大写字母开头
package main

import "fmt"

type Person struct {
	name string
	age  int
}

type Student struct {
	Person //匿名字段,默认包含person中所有字段
	sex    string
}

func main() {
	//person:=Person{"zhangsan",25} //{zhangsan 25}
	//person := Person{age: 22, name: "lxw"}

	//stu1 := Student{Person{name: "test", age: 11},  "男"}
	stu1 := Student{Person{"test", 113},  "男"}

	//fmt.Printf("%v", person)
	fmt.Printf("%v", stu1.Person.age)//113
	fmt.Printf("%v", stu1.name)//test
	fmt.Printf("%v", stu1.age)//113
	fmt.Printf("%v", stu1.sex)//男
}

3.面向对象

三.常见问题

go: cannot use path@version syntax in GOPATH mode问题解决

问题:
执行go get github.com/golang/protobuf/protoc-gen-go@v1.3.2时报错

go get github.com/golang/protobuf/protoc-gen-go@v1.3.2
go: cannot use path@version syntax in GOPATH mode

解决:需要开启 GO111MODULE,默认是 auto,
打开.zshrc,(注意:查看下自己当前用的是哪个shell,是bash的话需要.bash_profile中编辑)
添加 export GO111MODULE=on 即可。修改完记得source

export GO111MODULE=on

source

source ~/.zshrc

原因:

go mod 可以通过GO111MODULE来控制是否启用,GO111MODULE有一下三种类型。

on 所有的构建,都使用Module机制
off 所有的构建,都不使用Module机制,而是使用GOPATH和Vendor
auto 在GOPATH下的工程,不使用Module机制,不在GOPATH下的工程使用

视频地址:https://www.bilibili.com/video/av71154002/

赞赏码

非学,无以致疑;非问,无以广识

原文地址:https://www.cnblogs.com/lxwphp/p/15452567.html