随笔分类 -  GO

go学习
摘要:package mainimport ( "fmt" "os" "reflect")type Meta struct { Name string `json:"name"` Age uint `json:"age"` Se uint `json:"se"`}func TestRs(m interfa 阅读全文
posted @ 2022-01-04 11:25 技术颜良 阅读(89) 评论(0) 推荐(0)
摘要:文件读取是所有编程语言中最常见的操作之一。本教程我们会学习如何使用 Go 读取文件。 本教程分为如下小节。 将整个文件读取到内存 使用绝对文件路径 使用命令行标记来传递文件路径 将文件绑定在二进制文件中 分块读取文件 逐行读取文件 将整个文件读取到内存 将整个文件读取到内存是最基本的文件操作之一。这 阅读全文
posted @ 2022-01-04 11:24 技术颜良 阅读(1118) 评论(0) 推荐(0)
摘要:Go 中对文件内容读写的方法,非常地多,其中大多数是基于 syscall 或者 os 库的高级封装,不同的库,适用的场景又不太一样,为免新手在这块上裁跟头,我花了点时间把这些内容梳理了下。 这篇是上篇,先介绍读取文件的 10 种方法,过两天再介绍写入文件的 # 1. 整个文件读取入内存 直接将数据直 阅读全文
posted @ 2022-01-04 11:23 技术颜良 阅读(394) 评论(0) 推荐(0)
摘要:在开始之前,先考你一个非常 Go 味的经典问题:如何判断一个 interface{} 的值是否为 nil ? 这也是面试有可能会被问到的一个问题,这个问题很 “迷”,平时没有特别留心的朋友,很容易在这边裁了。 我相信很多人会下意识的回答,直接 v == nil 进行判断不就好了吗? 很久之前,我也是 阅读全文
posted @ 2022-01-04 08:44 技术颜良 阅读(101) 评论(0) 推荐(0)
摘要:错误类型 error 第一种是 Go 中最标准的 error 错误,其真身是一个 interface{}。 如下: type error interface { Error() string} 在日常工程中,我们只需要创建任意结构体,实现了 Error 方法,就可以认为是 error 错误类型。 如 阅读全文
posted @ 2022-01-02 16:30 技术颜良 阅读(112) 评论(0) 推荐(0)
摘要:大家好,我是煎鱼。 最近在我们 Go 的技术交流群里,有一个小伙伴提了一个程序方面的问题,还挺有意思的,分享给大家。 示例 示例程序如下: type T struct{}func (t *T) Hello() string { if t == nil { fmt.Println("脑子进煎鱼了") 阅读全文
posted @ 2022-01-01 15:37 技术颜良 阅读(375) 评论(0) 推荐(0)
摘要:package mainimport "fmt"var i int = 100func TestInt() { defer func() { i+=100 }() fmt.Println(i) //return}func main() { fmt.Println(TestInt()) //fmt.P 阅读全文
posted @ 2022-01-01 10:53 技术颜良 阅读(385) 评论(0) 推荐(0)
摘要:Go里的流程控制方法还是挺丰富,整理了下有如下这么多种: if - else 条件语句 switch - case 选择语句 for - range 循环语句 goto 无条件跳转语句 defer 延迟执行 今天是最后一篇讲控制流程了,内容是 defer 延迟语句,这个在其他编程语言里好像没有见到。 阅读全文
posted @ 2021-12-31 20:46 技术颜良 阅读(66) 评论(0) 推荐(0)
摘要:nil 在 Go语言中只能被赋值给指针和接口 阅读全文
posted @ 2021-12-29 10:06 技术颜良 阅读(168) 评论(0) 推荐(0)
摘要:func main() { //var s string ="tess" //var ss *string = &s var i interface{} = &ssss{"test"} fmt.Println((i)) i=100 fmt.Println((i)) fmt.Println((*i)) 阅读全文
posted @ 2021-12-28 20:14 技术颜良 阅读(322) 评论(0) 推荐(0)
摘要:示例 示例程序如下: type T struct{}func (t *T) Hello() string { if t == nil { fmt.Println("脑子进煎鱼了") return "" } return "煎鱼进脑子了"}func main() { var t *T //没有被初始化 阅读全文
posted @ 2021-12-28 09:33 技术颜良 阅读(74) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2021-12-28 08:19 技术颜良 阅读(21) 评论(0) 推荐(0)
摘要:package mainimport "fmt"type SS struct { S string I int}func (s *SS) Test(i int) { s.I=i}func (s *SS) TestString(s string) { s.S=s}func main() { s:=&S 阅读全文
posted @ 2021-12-27 15:05 技术颜良 阅读(69) 评论(0) 推荐(0)
摘要:func Scanf func Scanf(format string, a ...interface{}) (n int, err error) Scanf从标准输入扫描文本,根据format 参数指定的格式将成功读取的空白分隔的值保存进成功传递给本函数的参数。返回成功扫描的条目个数和遇到的任何错 阅读全文
posted @ 2021-12-23 13:46 技术颜良 阅读(519) 评论(0) 推荐(0)
摘要:https://github.com/fanux/sealos/blob/master/k8s/utlis.go 阅读全文
posted @ 2021-12-22 16:40 技术颜良 阅读(249) 评论(0) 推荐(0)
摘要:package mainimport ( "fmt" "strings")func main() { ip:="192.168.0.10"i:=0str:="osdf"for _,c:=range str{ i++ if c == 'l'{ break} } fmt.Println(i) ips:= 阅读全文
posted @ 2021-12-22 16:34 技术颜良 阅读(40) 评论(0) 推荐(0)
摘要:nil is a predeclared identifier representing the zero value for a pointer, channel, func, interface, map, or slice type.Type must be a pointer, channe 阅读全文
posted @ 2021-12-21 09:45 技术颜良 阅读(249) 评论(0) 推荐(0)
摘要:package mainimport "fmt"type str struct { Str string}func main() { var s *int var i interface{} = s fmt.Println(&s) var x interface{} = &str{} var ss 阅读全文
posted @ 2021-12-20 16:49 技术颜良 阅读(279) 评论(0) 推荐(0)
摘要:func main() { s:=&G{"fsf",19} y:=new(G) yw:=new(G) x:=&G{"fsf",19} sss,err:=x.Getstr() if err != nil{ fmt.Println(err) } fmt.Println(sss) w:=s fmt.Pri 阅读全文
posted @ 2021-12-20 10:30 技术颜良 阅读(116) 评论(0) 推荐(0)
摘要:package mainimport ( "fmt")type G struct { Str string Int int}func (g G) Getstr() (string,error) { //var err error if g.Str == ""{ fmt.Println("is a e 阅读全文
posted @ 2021-12-19 08:03 技术颜良 阅读(63) 评论(0) 推荐(0)