go语言
广大菜鸟
没甚么厉害的经历,联系方式:qq:1456084073,或csdn私信
展开
-
goweb学习(1)创建简单服务器
了解goweb服务工作流程1、简单实现使用net/http包通过处理器函数处理请求创建服务器的步骤:1)创建一个函数处理器,函数的入参必须是http.ResponseWriter和http.Request指针类型2)在main函数中调用http中的HandleFunc函数指定处理指定请求的处理器HandleFun函数能自动将1)中的函数转换为处理器3)设置路由具体代码package mainimport ( "fmt" "net/http")// 创建处理器函数func原创 2020-09-23 11:31:28 · 195 阅读 · 0 评论 -
golang 连接数据库postgresql的2种方法
golang连接不同数据库的方式参数有不同我这里的案例是,创建一个产品表1、database/sql需要下载第三方库,go get github.com/bmizerany/pqpackage mainimport ( "database/sql" //通用的接口 "fmt" _ "github.com/bmizerany/pq" //必须要有相应的驱动)/*** @author Lenovo* @date 2020/9/16*/const ( host原创 2020-09-23 09:46:49 · 6560 阅读 · 0 评论 -
go语言普通的常用命令(略)
1、go doc 和dodoc快速显示指定软件包的帮助文档godoc -http=:6060 -index -play-http=:PORT 指定监听的地址,默认6060-index 支持关键词索引-play 在浏览器里对go语言进行测试2、go build编译软件包-x 打印执行过程的详细信息,辅助测试-gcflags 指定编译器参数-ldflags 指定链接器参数,通过-X 动态指定包变量值3、go clean清理项目,删除编译生成的二进制文件和临时文件-i 删除go ins原创 2020-09-14 13:03:14 · 494 阅读 · 0 评论 -
go语言读取Log日志
package main//tail命令用途是依照要求将指定的文件的最后部分输出到标准设备,通常是终端,//通俗讲来,就是把某个档案文件的最后几行显示到终端上,假设该档案有更新,tail会自己主动刷新,确保你看到最新的档案内容 ,在日志收集中可以实时的监测日志的变化,Log需要换行才可以表现import ( "fmt" "github.com/hpcloud/tail" "time")func main(){ fileName := "Log/my.log" config := tai原创 2020-09-01 10:28:36 · 1803 阅读 · 1 评论 -
go语言调用另一个可运行的go程序并以命令行传参数
1、调用别的程序文件(exec.Command)package mainimport ( "fmt" "os/exec")func checkError(err error){ if err != nil{ panic(err) }}func main(){ cmd := exec.Command("./../other/other","hello","world") data,err := cmd.Output() checkError(err) fmt.Println原创 2020-08-24 21:15:14 · 3491 阅读 · 0 评论 -
golang 读写yaml文件
go的系统包没有yaml读写的,需要下载第三方库go get gopkg.in/yaml.v2package mainimport ( "fmt" "gopkg.in/yaml.v2" "io/ioutil" "strconv")func checkError(err error){ if err != nil{ panic(err) }}type Study struct{ CourseName string `yaml:"CourseName"` Score原创 2020-08-17 17:47:41 · 7160 阅读 · 1 评论 -
golang 读写json文件
package mainimport ( "encoding/json" "fmt" "io/ioutil" "strconv")type Study struct{ CourseName string `json:"CourseName"` Score int `json:"Score"`}type Student struct{ Name string `json:"name"` Address string `json:"addr"` Score原创 2020-08-17 16:06:40 · 3722 阅读 · 0 评论 -
golang 序列化和反序列化之xml文件实例
1、xml标签常见用法xml:"xxx,omitempty" 代表如果这个字段为空,则序列化时忽略该字段xml:"xxx,attr" 代表字段为xml标签的属性说明xml:"-" 代表序列化时忽略该字段xml:"a>b>c" 代表xml标签嵌套模式2、golang ioutil.WriteFile函数perm参数的用法 ioutil.WriteFile(filename string, data []byte, perm os.FileMode)iou原创 2020-08-17 14:26:58 · 1243 阅读 · 0 评论 -
go语言[]string和[][]byte互换
package mainimport "fmt"func changeStringToByte(args ...string) [][]byte { result := make([][]byte, len(args)) for i, arg := range args { result[i] = []byte(arg) } return result}func changeByteToString(args [][]byte)[]string{ result := make([]原创 2020-08-03 12:04:05 · 335 阅读 · 0 评论 -
go语言 面对对象编程(转)
转自:https://zhuanlan.zhihu.com/p/94625212面向对象的三大基本特征:封装:隐藏对象的属性和实现细节,仅对外提供公共访问方式继承:使得子类具有父类的属性和方法或者重新定义、追加属性和方法等多态:不同对象中同种行为的不同实现方式在 Go 语言中没有 public、private、protected 这样的访问控制修饰符,它是通过字母大小写来控制可见性的。如果定义的常量、变量、类型、接口、结构、函数等的名称是大写字母开头,这表示它们能被其它包访问或调用(相当于 pu转载 2020-08-02 21:45:55 · 233 阅读 · 0 评论 -
go关于json的转换案例
struct 和jsonstruct加上tag,tag的前后的符号不是单引号,而是键盘最左上角的按键。//转换主要是data,err := json.Marshal(pet) 和err := json.Unmarshal([]byte(str),&pet)package mainimport ( "encoding/json" "fmt")type Pet struc...原创 2020-04-27 16:54:25 · 308 阅读 · 0 评论 -
go语言的接口案例
学习资料来自https://www.bilibili.com/video/BV1jJ411c7s3?p=93自定义一个接口package mainimport "fmt"func main(){ m1 :=Mouse{"shubiao"} testInterface(m1) f1 := FlashDisk{"flashdisk"} testInterface(f1)}/...原创 2020-04-21 23:15:05 · 546 阅读 · 0 评论 -
go 错误error和异常panic recover案例
package mainimport ( "errors" "fmt")func main() { //1创建错误方式(1) err1 := errors.New("do by try") fmt.Println(err1) fmt.Printf("%T\n",err1) //2创建错误方式(2) err2 := fmt.Errorf("错误信息码%d",404) f...原创 2020-04-21 18:12:50 · 333 阅读 · 0 评论 -
开方的1种方式(转)
学习参考:https://blog.csdn.net/junlon2006/article/details/79766188 「珂学原理」No.95「骚代码是怎样炼成的」解剖快速平方根倒数算法 ...转载 2020-04-19 18:05:11 · 321 阅读 · 0 评论 -
go 从cmd向程序输入
package mainimport (“fmt”“os”)func main() {fmt.Println(len(os.Args))for _, arg := range os.Args {fmt.Println(arg)}}原创 2020-04-19 14:32:54 · 451 阅读 · 0 评论 -
go语言深拷贝和浅拷贝案例
%T :使用Go语法输出的值的类型%v:使用默认格式输出的内置或者自定义类型的值,或者是使用其类型的String()方式输出的自定义值,如果该方法存在的话%p:以十六进制(基数为16)表示的一个值的地址,前缀为0x,字母使用小写的a-f表示1、浅复制(1)new()和:=package mainimport "fmt"type dog struct { name string ...原创 2020-04-19 14:17:00 · 1021 阅读 · 5 评论 -
go语言基础之格式化输出(转)
格式和含义%%一个%字面量%b一个二进制整数值(基数为2),或者是一个(高级的)用科学计数法表示的指数为2的浮点数%c字符型。可以把输入的数字按照ASCII码相应转换为对应的字符%d一个十进制数值(基数为10)%e以科学记数法e表示的浮点数或者复数值%E以科学记数法E表示的浮点数或者复数值%f以标准记数法表示的浮点数或者复数值%g以%e或者%f表示的浮点数或者复数,...转载 2020-04-19 13:10:29 · 346 阅读 · 0 评论