随笔分类 -  Golang

摘要:GOPATH 从 Go 1.8 版本开始,Go 开发包在安装完成后,将 GOPATH 赋予了一个默认的目录,参见下表 image.png 在Jetbrains 公司的 GoLand 集成开发环境(IDE)中GOPATH分两种: 1、Global GOPATH 2、Project GOPATH Glo 阅读全文
posted @ 2020-08-18 22:02 CyberPelican 阅读(387) 评论(0) 推荐(0) 编辑
摘要:Golang http 通用方法 func HandleError(err error, reason string) { if err != nil { println(err, reason) } } func getContentByUrl(url string) string{ resp, 阅读全文
posted @ 2020-08-18 18:27 CyberPelican 阅读(129) 评论(0) 推荐(0) 编辑
摘要:/^正则表达式$/ 参考: https://www.runoob.com/regexp/regexp-syntax.html https://studygolang.com/pkgdoc golang regex https://regexr.com/ 正则在线检测 非打印字符 字符 描述 \n 换 阅读全文
posted @ 2020-08-18 18:18 CyberPelican 阅读(4985) 评论(0) 推荐(0) 编辑
摘要:Golang 反射 基本介绍 注意通过指针变量获取的变量是地址 //指针变量的kind fmt.Printf("%v\n", reflect.TypeOf(&student).Kind()) //ptr //指针变量的 type fmt.Printf("%T\n", &student) //*mai 阅读全文
posted @ 2020-08-15 23:49 CyberPelican 阅读(118) 评论(0) 推荐(0) 编辑
摘要:Golang 常量 参考: https://www.cnblogs.com/chenbaoding/p/12197244.html https://www.jianshu.com/p/08d6a4216e96 定义 const identifier type 不能将一个变量赋值给常量 Go中没有常量 阅读全文
posted @ 2020-08-15 17:14 CyberPelican 阅读(150) 评论(0) 推荐(0) 编辑
摘要:Golang Channel 定义 channel本质是队列 线程安全, 多goroutine访问时, 不需要加锁,就是说channel本身线程安全 channel有类型,一个string的channel只能存放string 声明 var identifier chan type channel是引 阅读全文
posted @ 2020-08-15 00:43 CyberPelican 阅读(146) 评论(0) 推荐(0) 编辑
摘要:Golang 协程 协程的特点 独立的栈空间 共享程序堆空间 调度由用户控制 协程是轻量级的线程 如果函数有返回值, 使用协程时, 返回值将被吞掉 案例 编写一个程序完成如下功能: 在主线程中,开启一个goroutine, 该协程每隔1秒输出“hello world” 在主线程中也每隔一秒输出“he 阅读全文
posted @ 2020-08-14 19:59 CyberPelican 阅读(289) 评论(0) 推荐(0) 编辑
摘要:Golang 测试框架 案例 cal.go package test func add(a,b int) int{ return a + b } cal_test.go package test import ( "fmt" //引入go的测试框架 "testing" ) //测试框架的函数必须以T 阅读全文
posted @ 2020-08-14 19:05 CyberPelican 阅读(747) 评论(0) 推荐(0) 编辑
摘要:Golang IO 如果使用相对路径,采用project structure中指定的路径 文件操作 判断文件目录是否存在 //返回文件的信息, 如果err == nil 表示文件或目录存在 stat, err := os.Stat("test1.txt") fmt.Println(stat) //判 阅读全文
posted @ 2020-08-14 02:10 CyberPelican 阅读(260) 评论(0) 推荐(0) 编辑
摘要:![](https://img2020.cnblogs.com/blog/2005355/202008/2005355-20200814015715235-2064459159.png) 阅读全文
posted @ 2020-08-14 01:57 CyberPelican 阅读(90) 评论(0) 推荐(0) 编辑
摘要:Golang 类型断言 案例 func main() { //定义一个空接口类型 var x interface{} var y float32 = 1.1 //多态 x = y //y = x 错误 y = x.(float32) fmt.Println(y) } 定义 由于接口时一般类型,不知道 阅读全文
posted @ 2020-08-12 20:53 CyberPelican 阅读(370) 评论(0) 推荐(0) 编辑
摘要:Golang 接口 案例 //定义一个接口 type Usb interface { start() stop() sum(int, int) int } type phone struct { } //实现接口方法 func (p phone) start() { fmt.Println("imp 阅读全文
posted @ 2020-08-12 17:53 CyberPelican 阅读(149) 评论(0) 推荐(0) 编辑
摘要:Golang 继承 案例引入 type Person struct { Name string Age int } //Go继承使用匿名嵌套 type Student struct { Person sNo int } func (person *Person) say() { fmt.Printl 阅读全文
posted @ 2020-08-12 15:47 CyberPelican 阅读(542) 评论(0) 推荐(0) 编辑
摘要:Golang 方法 定义 func (recevier stuctType)identifier()(){} 方法只能被structType的实例调用 As Follow type Monster struct { Name string Age int skill string } //Say方法 阅读全文
posted @ 2020-08-12 00:48 CyberPelican 阅读(157) 评论(0) 推荐(0) 编辑
摘要:Golang 结构体 定义 **注意!!!**Go中结构体是值类型, 不同于Java中的类是引用类型 type typeName struct{//如果结构体名为小写就表示只能被当前包使用, 反之可以被所有包使用 filed type //字段 filed type //指针, slice 和map 阅读全文
posted @ 2020-08-12 00:17 CyberPelican 阅读(237) 评论(0) 推荐(0) 编辑
摘要:Golang map 声明 var map identifier [keytype]valuetype 和Java中的HashMap相似, 可以使用多种类型作为key, 但是除slice, map, function外 注意: 声明是不会分类内存的, 初始化需要make, 分配内存后赋值使用 相同的 阅读全文
posted @ 2020-08-11 18:58 CyberPelican 阅读(239) 评论(0) 推荐(0) 编辑
摘要:Golang string slice string底层是一个byte数组, 因此string也可以进行切片处理 func main() { //str底层是一个byte数组, 所以可以使用切片 str:="hello world" slice := str[:5] fmt.Println(slic 阅读全文
posted @ 2020-08-11 16:20 CyberPelican 阅读(552) 评论(0) 推荐(0) 编辑
摘要:Golang 切片 定义 切片是数组的一个引用, 因此切片是引用类型, 在进行传递时, 遵守引用传递的机制 func main() { //定义一个切片 arr := [...]int{1, 2, 3, 4} //表示截取arr的[1,3) sArr := arr[1:3] fmt.Println( 阅读全文
posted @ 2020-08-11 00:46 CyberPelican 阅读(138) 评论(0) 推荐(0) 编辑
摘要:Golang 数组 数组的四种初始化 func main() { var arr1 [3]int fmt.Println(arr1) //int[] arr = new int[3]{1,3,4}; Java中报错 var arr2 = [3]int{1, 2, 4}// var arr2 [3]i 阅读全文
posted @ 2020-08-10 22:28 CyberPelican 阅读(298) 评论(0) 推荐(0) 编辑
摘要:Golang随机数 默认Seed(1), 输出的结果固定, 相当于Java中Random random = new Random(1); func main() { arr := [4]int{} for i := 0; i < len(arr); i++ { arr[i] = rand.Intn( 阅读全文
posted @ 2020-08-10 22:25 CyberPelican 阅读(181) 评论(0) 推荐(0) 编辑

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