如何跟客户沟通网站建设做网站还有搞头吗

pingmian/2026/1/25 10:50:37/文章来源:
如何跟客户沟通网站建设,做网站还有搞头吗,网站开发就业外部威胁,江西省住房和城乡建设厅网站首页GO 中的方法是什么#xff1f; 前面我们有分享到 GO 语言的函数#xff0c;他是一等公民#xff0c;那么 GO 语言中的方法和函数有什么区别呢#xff1f; GO 语言中的方法实际上和函数是类似的#xff0c;只不过在函数的基础上多了一个参数#xff0c;这个参数在 GO 语…GO 中的方法是什么 前面我们有分享到 GO 语言的函数他是一等公民那么 GO 语言中的方法和函数有什么区别呢 GO 语言中的方法实际上和函数是类似的只不过在函数的基础上多了一个参数这个参数在 GO 语言中被称为 receiver 参数 例如我们可以这么来申明一个方法 func (xx T/*T) helloworld(入参参数列表) (返回值列表) {// 具体实现 }demo 中的 helloworld 方法就绑定到了 receiver T 类型上这个 helloworld 方法我们可以通过使用 T 类型或者 *T 来进行调用例如 var tt T tt.helloworld(入参参数列表) var pt *T pt.helloworld(入参参数列表)看着还是挺简单的对吗对于使用的时候我们需要注意这些问题 GO 语言中原生的类型是不能作为上述的 receiver 的例如 intslicemap等等都是不行的只能是我们自定义的类型方法只能有一个 receiver 参数只能绑定一个不能绑定多个receiver 参数类型本身不能是指针或者是接口类型这里非常需要注意 如图receiver 参数类型本身不能是指针类型 如图receiver 参数类型本身不能是接口类型 对于方法是绑定了一个 receiver 类型的参数那么这个参数是不是很像 C 里面的入参呢 func helloworld(xx T/*T, 其他入参) (返回值列表){// 具体实现 }所以在 GO 语言里面我们能够明白一个方法所绑定类型的实例实际上就是一个普通函数的第一个参数 就像这样 func (t T) helloworld() helloworld(t T) func (pt *T) helloworld() helloworld(pt *T)那么对于上述绑定的类型有 T 也有 *T 如何去选择呢什么时候用 T 什么时候又用 *T 呢 此处 T 叫做值类型 *T 叫做指针类型 选择不同的类型 如果选择 T 类型那么这是一个值传递类型的在调用 helloworld 方法的时候实际上就是传了一个 T 类型实例的副本那么如果在 helloworld 方法中对 t 做了一些变动那么只会影响副本对于原来的 T 类型实例是不会有影响的如果选择了 *T 类型那么这就是一个指针类型的调用 helloworld 方法的时候传的就是类型 T 的实例地址这个时候 helloworld 内部如果对 t 做了一些变动都会体现到原来的 T 的实例上 这个理解方式实际上就和咱们普通函数中传入的参数是一样的传值和传地址的区别 一个简单的 demo 再来加深一下 定义个 TT 类型的结构成员有 Name定义 Hello1 方法绑定 TT定义 hello2 方法绑定 *TT新建一个 TT 类型的变量 t分别去调用 hello1 和 hello2新建一个 *TT 类型的变量 pt分别去调用 hello1 和 hello2 可以看到上述程序的结果如下 name name hello2 name name hello2从上述 demo 中就可以看出实际上 GO 语言对于我们调用方法的时候是做了隐式转换无论是值类型的实例还是指针类型的实例都是可以去调用绑定了值类型的方法也可以去调用绑定了指针类型的方法 只不过得到的结果就要看具体方法是绑定的值类型还是指针类型了 所以我们如何去选择 receiver 的类型到此就很清楚了吧 如果我们期望要去修改 receiver 类型的实例那么就用指针类型如果不期望修改则使用值类型 当然如果我们是要考虑到性能就要使用传地址的方式较好 方法的集合 GO 里面虽然没有类没有对象没有继承但是关于面向对象里面的内容在 GO 里面完全可以使用组合的方式来进行实现 所以对于GO 里面是如何组合的的基本知识我们要搞清楚前提我们就先要弄明白方法的集合是如何玩的 在 GO 语言里面我们在给接口变量复制使用结构体嵌入或者接口嵌入使用 类型别名的时候都是会涉及到方法集合的但是具体要看某一个实例包含哪些方法集合我们就可以来演练一下 定义 ITT 接口里面有 2 个方法 Hello1() , Hello2()定义 TT 结构体实现上述接口其中 Hello1() 绑定 TT Hello2() 绑定 *TT查看 nil 转成 ITT 的方法集合TT 的方法集合*TT 的方法集合 type ITT interface{Hello1()Hello2()}type TT struct{}func (t TT)Hello1(){}func (pt *TT)Hello2(){}// 打印方法集合 func GetMethodSet(i interface{}){v : reflect.TypeOf(i)et : v.Elem()num : et.NumMethod()if num 0 {fmt.Println(et, methond num is 0 )return}// 有方法集合fmt.Println(et,mthond set is :)for i:0;inum;i{fmt.Println(---,et.Method(i).Name)} }func main(){var t TTvar pt * TT// 先查看 nil 接口的方法集合GetMethodSet((*ITT)(nil))// 查看 TT 的方法集合GetMethodSet(t)// 查看 *TT 的方法集合GetMethodSet(pt) }运行结果如下 可以查看到上述案例绑定类型为 TT 的方法集合只有 1 个绑定类型为 *TT 的方法集合有 2 个可以看得出来 **T 类型的方法集合是包含了 T 类型和 T 类型 T 类型的方法集合是包含了 T 类型 对于 GO 语言里面的组合总的来说有三种这个可以多多尝试和写 demo 练习 接口中嵌入接口 type ITT interface{hello1() } type ITT2 interface{hello2() } type ITT3 interface{ITT ITT2 }接口中嵌入接口最终的接口方法个数是取和数此处我们要注意的地方就是方法名如果重复也是可以正常得到方法集合具体使用接口中的方法还是要看实例是如何实现的 结构体中嵌入接口 type ITT interface{hello1()hello2() } type ITT2 interface{hello2()hello3() } type TT struct{ITT ITT2 } // 此时 TT 的方法集合就存在 hello2() 是冲突的因此此处就需要 TT 去实现自己的 hello2() func (TT)hello2(){}结构体中嵌入接口如果遇到同名的方法GO 语言会优先选择结构体自己实现的方法如果结构体自己未实现则会将接口中的同名方法提升到自己的结构体中来 结构体中嵌入结构体 结构体中嵌入结构体就要注意嵌入的结构体是值类型的还是指针类型的例如 type TT struct{TT1*TT2 }那么 TT 的方法集合是什么 *TT 的方法集合是什么 TT 的方法集合就是按照正常值传递的来等于 TT1 的方法集合 加上 *TT2 的方法集合 *TT 的方法集合按照地址传递的来等于 *TT1的方法集合 加上 *TT2 的方法集合 那么类型别名的方法集合又是如何去查看的有什么需要注意的地方吗 那么还是上述方法集合中的案例我们分别给结构体 TT 定一个别名TTB给接口类型 ITT 定义一个 ITTB 此时来查看别名的方法集合与其原有类型的方法集合是否有差距 上述程序运行结果如下 main.ITT mthond set is : --- Hello1 --- Hello2 main.ITT mthond set is : --- Hello1 --- Hello2 main.TT mthond set is : --- Hello1 main.TT mthond set is : --- Hello1 *main.TT mthond set is : --- Hello1 --- Hello2 *main.TT mthond set is : --- Hello1 --- Hello2通过打印结果我们可以看到类型别名的方法集合与原有类型的方法集合是一样的无论是结构体类型还是接口类型 知道 receiver 能够调用的方法集合有哪些 那么在具体使用的时候就避免出错避免误解对于后续的接口组合就会理解的更加明白和清晰了 总结 本次主要分享了 GO 语言中方法和函数的关系GO 语言中的方法集合如何查看、甄别和使用 欢迎点赞关注收藏 朋友们你的支持和鼓励是我坚持分享提高质量的动力 好了本次就到这里 技术是开放的我们的心态更应是开放的。拥抱变化向阳而生努力向前行。 我是阿兵云原生欢迎点赞关注收藏下次见~ 可以进入地址进行体验和学习https://xxetb.xet.tech/s/3lucCI

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/85875.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么秀网站做效果图宝安中心站

上一篇文章讲到了 union,union union存在很多问题,因此C17设计了一个新的variant替代原来的union。 union的问题 无法知道当前使用的类型是什么。而且union无法自动调用底层数据成员的析构函数。 这些使得一般只对一些“基本类型”使用union&#xf…

已有网站如何做直播网站开发语言格式化标记语言

Python中没有提供计算两组变量非线性相关系数的包或接口。x和x^2的皮尔森相关系数可能接近于0,因为求的是线性相关性。但是这两个变量并不是独立不相关的。使用距离相关系数就可以计算x和x^2的非线性关系,如果距离相关系数接近于0,就可以说两…

商丘网站建设软件公司物流网站后台

最近这俩天正好有时间给自己做一下减法,忘记是去年还是今年,在升级 AndroidStudio 后使用 Logcat查看日志的方式也发生了一些变化,虽然一直在使用,但每当看到之前还未关闭 Logcat 命令行工具额昂也,就感觉可能还存在知…

阿里云虚拟主机可以做两个网站wordpress等待响应

前缀和 一.一维前缀和(模板):1.思路一:暴力解法2.思路二:前缀和思路 二. 二维前缀和(模板):1.思路一:构造前缀和数组 三.寻找数组的中心下标:1.思路一:前缀和 四.除自身以外数组的乘积&#xff…

网站开发和运维区别灰色词快速上排名

来源:量子位原标题:只需2小时,成本不到7块,你我皆可制作的3D机器人机器人的骨架能像昆虫那般灵活、健壮吗?这个问题一直困扰着研究人员。以往,要么制作工艺太过复杂,耗的时间长;要么…

上虞做网站公司数据库查询网站模板

腾讯MMKV使用 implementation com.tencent:mmkv-static:1.2.9 MMKV.initialize(this);//会返回MMVK存储的目录(String) 创建MMKV,可以通过 defaultMMKV() 来创建,这个是全局默认的;也可以通过 mmkvWithID() 对应自己业…

3g免费网站制作php餐饮美食店网站源码 生成html

计算机辅助教学应用现状及对策研究 (8页)本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!9.9 积分计算机辅助教学应用现状及对策研究摘要:新形势下,计算机辅助教学迅速发展&…

蓬莱做网站案例怎么批量修改wordpress文章内容

题目题目描述写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下: F(0) 0, F(1) 1F(N) F(N - 1) F(N - 2), 其中 N > 1. 斐波那契数列由 0 和 1 开始,之后的斐波那契数…

网站和服务器是什么ppt链接网站怎么做

1. 题目 给你两个单词 s 和 t,请你计算出将 s 转换成 t 所使用的最少操作数。 你可以对一个单词进行如下两种操作: 删除一个字符替换一个字符 注意: 不允许插入操作 题目保证有解 示例: 输入:s "abcdefg&qu…

国有资产处网站建设进贤城乡规划建设局网站

一、简介 Spring Cloud Function 是基于 Spring Boot的函数计算框架。该项目致力于促进函数为主的开发单元,它抽象出所有传输细节和基础架构,并提供一个通用的模型,用于在各种平台上部署基于函数的软件。在Spring Cloud Function相关版本&am…

网站建设及制作教程做一个企业网站多少钱

文章目录 1.几种常用的事务传播行为1.1 REQUIRED1.2 REQUIRES_NEW1.2 NESTED 2. 事务问题2.1 事务不生效?2.2 事务不回滚? 文章会分为两个部分来讲解,第一部分是声明式事务的几种使用场景。第二部分包含事务没有生效,没有回滚的情…

怎么自己创建一个网站手机网站建设整体设计思路

本文作者祈澈姑娘,转载请声明 前端的技术日渐更新,最近得空,花了一上午的时间,将前端常见的框架总结了一下,在开发的过程之中,有了这些,不断能够提高自己的工作效率,还可以在工作之余…

it网站设计网站的增加条件设计

485转换器主要的作用是将单端的RS-232信号转换为平衡差分的RS-485或RS-422信号。RS-485、RS-422自动识别功能,使用更加简单。接下来就由飞畅科技的小编来为大家详细介绍下485转换器的产品功能特点及技术参数,一起来看看吧! 485转换器产品特点…

云邦北京网站建设销售网站建设推广

给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。 题目数据保证答案符合 32 位整数范围。 示例 1: 输入:nums [1,2,3], target 4 输出:7 解释&#…

和别人做网站接单赚钱中小型网站建设多少钱

一、题目介绍 输入描述: 多组输入,每行输入一个正整数(不大于100)。 输出描述: 针对每行输入的整数n,输出两行,第一行,输出n之内(包括n)的素数&#xff0…

外贸网站建设工作室百度会收录双域名的网站么

Windows 故障转移Hyper-V 虚机自动迁移高 可用 Windows 故障转移Hyper-V 虚机自动迁移高... 1一、系统原理... 31.1 高效率的 VMbus 架构... 31.2 完美支持 Linux 系统... 4二、架构拓朴... 52.1 网络及系统架构拓朴... 52.2 域结构拓朴... 5三、实验资源列表... 63.1 网络设备…

永春县住房和城乡规划建设局网站上海知名的seo推广咨询

Mathtype公式自动转Word自带公式 前言/word技巧探索过程参考资料(有效与无效)全自动方案/代码/教程 前言/word技巧 word公式 用ALT号可以输入简单latex显示公式;复杂度,需要引入latex包的不行;显示不出来的话按一下en…

做网站推广的联系方式室内装修设计学校排名

数组 一维数组 定义一维数组 定义一维数组的一般形式: 类型符 数组名 [常量表达式];其中: 数组名的命名规则和变量名相同,遵循标识符命名规则。常量表达式的值表示数组中元素的个数,也称为数组的长度。常量表达式可以包含常量…

淮南做网站公司企业公众号开发

在创建ODX数据库的过程中,我们需要录入大量的数据以及应对多种数据格式。这不仅费时费力,而且还需很高的人力成本,且其错误率也非常高,从而导致开发速度缓慢、效率低下。基于多年的汽车行业诊断经验,我们开发了VisualO…

上海专业的网站建设公司北京做网站公司电话

.NET CLR(公共语言运行时)是.NET框架的重要组成部分,它提供了一种环境,使 .NET 程序能够在其中执行。CLR 负责管理 .NET 应用程序的执行,包括内存管理、线程管理、异常处理、垃圾回收等。 CLR 的工作流程是这样的: 当你运行一个…