随笔分类 -  go语言

摘要:在 Go 1.17.1 的源码中,AMD64 架构下这 9 个通用寄存器的分配顺序(Assignment Order)主要定义在以下文件中: C:\Go\src\cmd\compile\internal\ssa\opGen.go(此文件由AMD64Ops.go,根据同目录下的main.go工具生成) 阅读全文
posted @ 2026-01-15 08:10 jinzi 阅读(3) 评论(0) 推荐(0)
摘要:本机环境: C:\Go\src\cmd\compile\internal\ssa\gen>go version go version go1.17.1 windows/amd64 D:\gosourceoffice\go-go1.17.1\src 官方的自举(Bootstrap)编译源码,用于mak 阅读全文
posted @ 2026-01-13 19:35 jinzi 阅读(2) 评论(0) 推荐(0)
摘要:本例来自 C:\Go\src\fmt\fmt_test.go fmt来讲已经是讲的比较多的了,我就从另外一个角度来看看go源码中的一些测试,实际里面也有一些不确定性。官方的测试。当然测试细节也太繁琐了,只能用到在看了,我也不可能面面俱到了,但是从另外一个角度可以去看出fmt还是有很多小细节的。 说明 阅读全文
posted @ 2025-12-19 18:10 jinzi 阅读(9) 评论(0) 推荐(0)
摘要:举个简单例子 r:=rune('abc'),会报错 more than one character in rune literal 为什么会出现这样一个错误呢?这就得探究 rune这个东西一、关于rune 你会在 C:\Go\src\builtin\builtin.go 源文件中看到他的定义,他上面 阅读全文
posted @ 2025-12-15 04:14 jinzi 阅读(10) 评论(0) 推荐(0)
摘要:一、go编译exe文件 我们先快速的看下生成.exe需要的过程 利用golang工具,创建工程,然后创建一个tesmodule模块,建立一个带main()的文件即可 C:\Go\src\myProject2\testmodule>go build -n found packages testmodu 阅读全文
posted @ 2025-12-13 13:09 jinzi 阅读(2) 评论(0) 推荐(0)
摘要:数据类型定义在源码: C:\Go\src\builtin\builtin.go ,这些数据类型不需要import导入,可直接使用一、下面是数据类型全部 是文件内部的一些定义 // bool is the set of boolean values, true and false. type bool 阅读全文
posted @ 2025-12-13 02:28 jinzi 阅读(10) 评论(0) 推荐(0)
摘要:go语言最典型的2个应用就是docker和k8s的构建。 所以go语言对于docker和k8s的重要性不言而喻本机环境 1.解析器:go 1.17.1 安装在c:\go下 2.使用golang工具 3.建立项目一定要在 c:\go\src下 启动golang ,myproject ,截图如下 4.在 阅读全文
posted @ 2025-12-12 14:55 jinzi 阅读(6) 评论(0) 推荐(0)
摘要:_ 符号虽然看似不起眼,但是会经常出现。所以还是总结下1.忽略某个返回值 package main import( "fmt" //内置模块 ) // 定义一个返回两个值的函数 func calculate测试返回值忽略(a, b int) (int, string) { errorstr:="a, 阅读全文
posted @ 2025-12-12 13:45 jinzi 阅读(3) 评论(0) 推荐(0)
摘要:我们在学习go语言当中经常会涉及到一些测试样例的寻找和实际功能的测试,实际无论go源码还是安装以后的src目录下都会有大量的测试代码 当然前提是你要懂一定的使用方法。网上的很多写的要么不完整,要么很潦草,要么写的很深奥,但是又不能很快入手,这些测试用例起码可以解决测试用例不足的问题,而且很多都是对各 阅读全文
posted @ 2025-12-11 15:44 jinzi 阅读(10) 评论(0) 推荐(0)
摘要:go语言中range关键字参考 https://www.php.cn/be/go/500181.html /*Go 语言中 range 关键字用于for循环中迭代数组(array)、切片(slice)、通道(channel)或集合(map)的元素*/ package main import ( "f 阅读全文
posted @ 2023-02-20 14:35 jinzi 阅读(112) 评论(0) 推荐(0)
摘要:Go语言for range循环详解 语法 1 2 3 for key, value := range data{ // } 参数描述 for for range 循环使用的关键字。 key for range 循环返回的键。 value for range 循环返回的值的拷贝。 range for 阅读全文
posted @ 2023-02-20 10:11 jinzi 阅读(36) 评论(0) 推荐(0)
摘要:一,基础知识 1.使用var关键字定义变量 func v2() { var a int //定义整形变量a var s string //定义字符串型变量s fmt.Printf("%d %q\n", a, s) //格式化输出语句printf } 2.一行定义多个变量 func v1() { // 阅读全文
posted @ 2023-02-20 00:00 jinzi 阅读(429) 评论(0) 推荐(0)
摘要:go语言是提供了一个类型叫接口类型的来定义接口1、Go语言的接口它是隐式实现。也就是说对于一个具体的类型,无须声明它实现了哪些接口,只要该类型提供了接口所必须的方法即可。 这种设计让你无须改变已有类型的实现,就可以为这些类型扩展新的接口。 2、一个接口类型定义了一组方法,如果用一个具体的类型例如st 阅读全文
posted @ 2023-02-19 23:54 jinzi 阅读(30) 评论(0) 推荐(0)
摘要:Go语言的结构体是一种自定义的复合数据类型,允许将不同类型的数据字段组合成一个整体,用于封装相关数据,类似于其他语言中的类,可以定义字段和方法。通过type TypeName struct { ... }来定义,使用 .(dot) 操作符访问字段,支持零值初始化、指针访问、结构体嵌套或组合和inte 阅读全文
posted @ 2023-02-19 23:43 jinzi 阅读(109) 评论(0) 推荐(0)
摘要:本go程序主要测试的是:= 和=的用法运算符 = 是给变量赋值,被赋值的变量是已经被定义过的变量,否则会报错。1、语法: var 变量名=变量值运算符 := 可以使变量在不声明的情况下直接被赋值使用1、不用var关键字来声明2、自动推导定义并赋值3、语法: 变量名:=变量值 /*********** 阅读全文
posted @ 2023-02-19 20:16 jinzi 阅读(32) 评论(0) 推荐(0)
摘要:本go程序主要测试的是函数出参数入参个数问题 package mainimport ( "fmt") //= 是赋值, := 是声明变量并赋值。/**********************************#@param a 是int#@param b 是int #Go语言中的参数传递方式都 阅读全文
posted @ 2023-02-18 23:09 jinzi 阅读(85) 评论(0) 推荐(0)
摘要:本go程序主要测试的是:= 和=的用法运算符 = 是给变量赋值,被赋值的变量是已经被定义过的变量,否则会报错。1、语法: var 变量名=变量值 运算符 := 可以使变量在不声明的情况下直接被赋值使用1、不用var关键字来声明2、自动推导定义并赋值3、语法: 变量名:=变量值 package mai 阅读全文
posted @ 2023-02-18 23:05 jinzi 阅读(176) 评论(0) 推荐(0)
摘要:为结构体增加方法测试 package main import ( "fmt") //先定义一个basestruct结构type basestruct struct {} //为basestruct结构添加 add() 方法func (t basestruct) add() { fmt.Printf( 阅读全文
posted @ 2023-02-18 22:24 jinzi 阅读(49) 评论(0) 推荐(0)
摘要:利用type做别名测试 package mainimport ( "fmt" "time") //语法 type TypeAlias = Type//将NewInt定义为int类型,将 NewInt 定义为 int 类型,通过type关键字的定义则NewInt会形成一种新的类型//注意NewInt本 阅读全文
posted @ 2023-02-18 22:22 jinzi 阅读(33) 评论(0) 推荐(0)
摘要:本go程序主要测试的是接收器的用法语法如下: func(接收器变量 接收器的类型) 方法名(参数列表)(返回参数){ ..... }注意 接收者位于func关键字和方法名之间的括号内 /**本程序将对结构体与函数实现接口的过程进行对比。1、go type 关键字2、func (r receiver) 阅读全文
posted @ 2023-02-18 21:01 jinzi 阅读(26) 评论(0) 推荐(0)