随笔分类 -  GO / 基础

摘要:if if 5 > 9 { fmt.Println("5>9") } 如果逻辑表达式成立,就会执行{}里的内容。 逻辑表达式不需要加()。 {必须紧跟在逻辑表达式后面,不能另起一行。 if c, d, e := 5, 9, 2; c < d && (c > e || c > 3) { //初始化多个 阅读全文
posted @ 2023-10-24 15:01 厚礼蝎 阅读(16) 评论(0) 推荐(0) 编辑
摘要:对于全局变量 如果以大写字母开头,所有地方都可以访问,跨package访问时需要带上package名称; 如果以小写字母开头,则本package内都可以访问。 函数内部的局部变量,仅本函数内可以访问。 {}可以固定一个作用域。 内部声明的变量可以跟外部声明的变量有冲突,以内部的为准--就近原则。 v 阅读全文
posted @ 2023-10-24 14:55 厚礼蝎 阅读(18) 评论(0) 推荐(0) 编辑
摘要:变量类型 类型 go变量类型 fmt输出 整型 int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 %d(十进制) %b(二进制) %x(十六进制) 浮点型 float32 float64 %f(普通形式) %e(科学计数法,10的指 阅读全文
posted @ 2023-10-24 14:53 厚礼蝎 阅读(37) 评论(0) 推荐(0) 编辑
摘要:算法术运算符 运算符 描述 + 相加 - 相减 * 相乘 / 相除 % 求余,仅限整数 //arithmetic 算术运算 func arithmetic() { var a float32 = 8 var b float32 = 3 var c float32 = a + b var d floa 阅读全文
posted @ 2023-10-24 14:51 厚礼蝎 阅读(13) 评论(0) 推荐(0) 编辑
摘要:结构体创建、访问与修改 定义结构体 type user struct { id int score float32 enrollment time.Time name, addr string //多个字段类型相同时可以简写到一行里 } 声明和初始化结构体 var u user //声明,会用相应类 阅读全文
posted @ 2023-10-16 10:09 厚礼蝎 阅读(22) 评论(0) 推荐(0) 编辑
摘要:函数的基本形式 //函数定义。a,b是形参 func argf(a int, b int) { a = a + b } var x, y int = 3, 6 argf(x, y) //函数调用。x,y是实参 形参是函数内部的局部变量,实参的值会拷贝给形参。 函数定义时的第一个的大括号不能另起一行。 阅读全文
posted @ 2023-10-16 10:05 厚礼蝎 阅读(19) 评论(0) 推荐(0) 编辑
摘要:接口的基本概念 接口是一组行为规范的集合。 type Transporter interface { //定义接口。通常接口名以er结尾 //接口里面只定义方法,不定义变量 move(src string, dest string) (int, error) //方法名 (参数列表) 返回值列表 w 阅读全文
posted @ 2023-10-16 10:01 厚礼蝎 阅读(27) 评论(0) 推荐(0) 编辑
摘要:面向对象的概念 洗衣服过程剖析: 给洗衣机里加脏衣服和洗衣粉。 启动洗衣机。 洗衣机自动注水,然后滚动。 脏衣服从黑颜色变成白颜色。 洗衣机自动停止。 用面向过程的思想实现代码。 //准备洗衣服 //输入参数: //powder 洗衣机里放多少洗衣粉 //closes 洗衣机里放多少衣服 //cle 阅读全文
posted @ 2023-10-13 10:15 厚礼蝎 阅读(10) 评论(0) 推荐(0) 编辑
摘要:格式化输出 输出格式 输出内容 %t 单词 true 或 false %b 表示为二进制 %d 表示为十进制 %e (=%.6e)有 6 位小数部分的科学计数法,如 -1234.456e+78 %f (=%.6f)有 6 位小数部分,如 123.456123 %g 根据实际情况采用 %e 或 %f 阅读全文
posted @ 2023-10-13 10:12 厚礼蝎 阅读(105) 评论(0) 推荐(0) 编辑
摘要:单元测试 测试单元的结果是否符合预期 //go_test.go import ( "fmt" "testing" ) func Add() int { fmt.Println("AAAAAAAAAAAAAA") return 5 } func Sub() int { fmt.Println("SSS 阅读全文
posted @ 2023-10-13 10:05 厚礼蝎 阅读(50) 评论(0) 推荐(0) 编辑
摘要:数学常量 math.E //自然对数的底,2.718281828459045 math.Pi //圆周率,3.141592653589793 math.Phi //黄金分割,长/短,1.618033988749895 math.MaxInt //9223372036854775807 uint64( 阅读全文
posted @ 2023-10-13 10:01 厚礼蝎 阅读(152) 评论(0) 推荐(0) 编辑
摘要:time包是go语言的内置库,提供了时间的显示和测量用的函数。日历的计算采用的是公历。 一、时间类型 time.Time类型表示时间。 我们可以通过time.Now()函数获取当前的时间对象,然后获取时间对象的年月日时分秒等信息。 示例代码如下: func timeDemo() { now := t 阅读全文
posted @ 2023-10-13 09:57 厚礼蝎 阅读(138) 评论(0) 推荐(0) 编辑
摘要:简单案例 package main import ( "context" "fmt" "os/exec" ) var ( ctx = context.Background() ) func main() { cmd := exec.CommandContext(ctx, "ip", "a") res 阅读全文
posted @ 2023-08-07 11:22 厚礼蝎 阅读(261) 评论(0) 推荐(0) 编辑
摘要:将字典转换为json字符串 点击展开/收起代码 func FormatToJson(i any) string { res, _ := json.MarshalIndent(i, "", " ") return string(res) } 将byte切片转换为json字符串 func FormatB 阅读全文
posted @ 2023-07-21 23:08 厚礼蝎 阅读(33) 评论(0) 推荐(0) 编辑
摘要:给结构体实现String() sting方法,方便按照我们想看的方式打印出来fmt.Println(),类似与python的__str__和__repr__ package main_test import ( "fmt" "github.com/bytedance/sonic" "testing" 阅读全文
posted @ 2023-01-08 06:39 厚礼蝎 阅读(158) 评论(0) 推荐(0) 编辑
摘要:package main import ( "encoding/json" "log" "strings" ) type Status int8 // 定义常量 const ( UP Status = iota + 1 // 从1开始 DOWN RUNNING PENDING ERROR ) // 阅读全文
posted @ 2023-01-08 06:37 厚礼蝎 阅读(34) 评论(0) 推荐(0) 编辑
摘要:实现MarshalJSON() ([]byte, error) 方法 ,序列化后可以把原来的枚举数转化为枚举数对应的字符串 实现UnmarshalJSON([]byte) error方法,可以把byte中的枚举的字符串转化为对应枚举字符串的枚举数 实现String() string方法,方便按照我们 阅读全文
posted @ 2023-01-08 06:33 厚礼蝎 阅读(210) 评论(0) 推荐(0) 编辑
摘要:正则表达式(或 RegEx)是一个特殊的字符序列,它定义了用于匹配特定文本的搜索模式。 在 Golang 中,有一个内置的正则表达式包: regexp 包,其中包含所有操作列表,如过滤、修改、替换、验证或提取。 正则表达式可以用于文本搜索和更高级的文本操作。正则表达式内置于 grep 和 sed 等 阅读全文
posted @ 2022-12-07 22:21 厚礼蝎 阅读(576) 评论(0) 推荐(0) 编辑
摘要:使用 fmt.Printf() 方法 默认右对齐,且采用空格填充 func main() { fmt.Printf("%20s %d\n", "women", 12) fmt.Printf("%20s %d\n", "womenxxxxxxxxx", 12333) } 设置左对齐,只需要加一个负号 阅读全文
posted @ 2022-11-15 11:17 厚礼蝎 编辑
摘要:这里以在window中编译成linux可运行的二进制文件为例 需要临时修改环境变量 在cmd中修改 SET CGO_ENABLED=0 SET GOOS=linux SET GOARCH=amd64 在powershell中修改(win10以后) ENV:CGOENABLED=0ENV:GO 阅读全文
posted @ 2022-11-15 11:13 厚礼蝎 编辑

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