随笔分类 -  Go

Go语言开发
摘要:Go语言使用go关键词实现goroutine并发,可以通过channel传输数据。 go关键词修饰函数实现goroutine并发: func main_go() { // runtime.GOMAXPROCS(最大256) fmt.Println(runtime.NumCPU()) // 16 ru 阅读全文
posted @ 2021-07-25 13:44 HiIT青年 编辑
摘要:Go语言时间相关的包为time。 // 时间API now := time.Now() fmt.Printf("年=%d\n", now.Year()) fmt.Printf("月=%d\n", now.Month()) fmt.Printf("日=%d\n", now.Day()) fmt.Pri 阅读全文
posted @ 2021-07-25 11:35 HiIT青年 编辑
摘要:Go语言文件操作涉及包有os和io这两个。 使用字节操作读文件: func readByteFromFile() { file, err := os.Open("go.mod") if err != nil { fmt.Printf("err >> %v\n", err) } defer file. 阅读全文
posted @ 2021-07-25 10:43 HiIT青年 编辑
摘要:Go的接口使用interface关键词定义。 接口定义: // 接口 type Movable interface { move(speed int) int } 接口实现: 第一个实现,speed * 2 type Cat struct { } // 函数原型一样,实现了Movable接口 fun 阅读全文
posted @ 2021-07-24 21:20 HiIT青年 编辑
摘要:Go使用json包的Marshal和Unmarshal进行json的序列化和反序列化。 json 序列化: // 定义结构体 type Cat struct { Name string Age int8 } // 序列化 c := Cat{"Tom", 2} bytes, err := json.M 阅读全文
posted @ 2021-07-24 20:57 HiIT青年 编辑
摘要:基于结构体实现Go的面向对象编程 // person结构体-person类 type person struct { name string age int8 } // person成员方法 func (p person) sayHi() { fmt.Printf("%s say Hi!\n", p 阅读全文
posted @ 2021-07-24 20:44 HiIT青年 编辑
摘要:Go语言的函数和方法不是同一个概念。 普通函数: // 普通函数 func demo0(a, b int) int { return a + b } // 调用 ret := demo0(1, 2) fmt.Println(ret) 匿名函数: // 匿名函数, 直接调用 func demo1() 阅读全文
posted @ 2021-07-24 20:31 HiIT青年 编辑
摘要:Go语言的结构体跟C语言的结构体有点类似,不过定义方法有点区别。 结构体定义: type person struct { name string age int8 } 结构体初始化: p0 := person{"Hi", 18} p1 := person{name: "Go", age: 19} p 阅读全文
posted @ 2021-07-24 20:18 HiIT青年 编辑
摘要:Go语言的常量跟javascript的常量声明是类似的。 const fa = 4 const ( fb = 5 fc = 6 ) 另外,Go语言的常量可以只声明,不使用(而变量不行)。 Go 允许有无类型常量,比如math.PI var x float32 = math.PI var y floa 阅读全文
posted @ 2021-07-18 13:27 HiIT青年 编辑
摘要:Go语言的变量跟其他语言的使用有较大的区别,go语言的类型都写在变量的后面。 // 声明变量number,类型为int var number int number = 1 // 如果直接初始化变量,那么类型可以省略 var number = 1 // 或者使用 := 简化var声明 number : 阅读全文
posted @ 2021-07-18 13:16 HiIT青年 编辑
摘要:Go语言的依赖管理跟python看起来有点类似。 在进行 Go 依赖管理之前,需要根据自己的需要修改 GOPATH 环境变量的值(默认情况的用户主目录中的go/pkg/mod中),将其调整到D盘中: 注意:调整后需要将原来的目录中的文件迁移过去。 下载依赖: go get github.com/gi 阅读全文
posted @ 2021-07-18 13:00 HiIT青年 编辑
摘要:Go单元测试(1)进行了Go语言简单的测试,下面记录一下Go更多的测试参数。 在hello目录下创建test子目录,最终的目录结构如下: E:. └─hello ├─sub └─test 将之前sub子目录的 add_test.go 移动到test子目录中(不迁移的话,无法使用go test fil 阅读全文
posted @ 2021-07-18 12:34 HiIT青年 编辑
摘要:任何程序都需要进行单元测试,以便在开发阶段就能尽早发现bug,下面是一个Go语言的单元测试案例。 接上一次工程管理的项目,在 sub 目录创建 add.go ,编写一个加法函数: package sub /** * 计算num1 + num2的值 */ func Add(num1 int, num2 阅读全文
posted @ 2021-07-18 11:29 HiIT青年 编辑
摘要:使用Go mod来管理 Go 项目的工程结构,这点跟Java的package有点类似。 创建项目 Hello: mkdir hello 初始化项目模块 main: cd hello go mod init main 创建子目录sub: cd hello mkdir sub 最终下目录结构如下: E: 阅读全文
posted @ 2021-07-18 11:04 HiIT青年 编辑
摘要:Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。 安装包下载:https://golang.google.cn/dl/ (可能需要FQ,关注公众号发送"go"可以获取安装包) 1. 安装开发环境 推荐使用msi安装,避免了各种环境变量的配置: 安装完成后可以通过命令行查看 go 阅读全文
posted @ 2021-07-18 09:34 HiIT青年 编辑

点击右上角即可分享
微信分享提示