iis7架设网站个人建网站wordpress

bicheng/2025/10/14 20:05:27/文章来源:
iis7架设网站,个人建网站wordpress,开发一个软件需要什么技术,网站这么做301目录 一、判断语句 1.if语句 2.switch语句 二、循环语句 1.传统for循环 2.死循环 3.while模式 4.do-while模式 5.遍历切片 6.遍历map 7.break#xff0c;continue 三、函数#xff0c;指针 1.函数定义 2.匿名函数 3.高阶函数 4.闭包 5.值传递和引用传递 6.…目录 一、判断语句 1.if语句 2.switch语句 二、循环语句 1.传统for循环 2.死循环 3.while模式 4.do-while模式 5.遍历切片 6.遍历map 7.breakcontinue 三、函数指针  1.函数定义  2.匿名函数 3.高阶函数 4.闭包  5.值传递和引用传递 6.指针 四、init函数和defer函数 1.init函数 2.defer函数  3.defer面试题 一、判断语句 1.if语句 package mainimport fmtfunc main() {fmt.Println(请输入你的年龄)var age intfmt.Scan(age)if age 18 {if age 10 {fmt.Println(儿童)} else {fmt.Println(未成年)}} else if age 35 {fmt.Println(青年)} else {fmt.Println(中老年)} }2.switch语句 可以理解为case的值就是switch的枚举结果 一般来说go的switch的多选一满足其中一个结果之后就结束switch了 package mainimport fmtfunc main() {fmt.Println(请输入你的年龄)var age intfmt.Scan(age)switch {case age 0:fmt.Println(未出生)case age 18:fmt.Println(未成年)case age 35:fmt.Println(青年)default:fmt.Println(中年)} }我输入一个12我希望它能输出满足的所有条件例如我希望它输出未成年青年 package mainimport fmtfunc main() {fmt.Println(请输入你的年龄)var age intfmt.Scan(age)switch {case age 0:fmt.Println(未出生)fallthroughcase age 18:fmt.Println(未成年)fallthroughcase age 35:fmt.Println(青年)default:fmt.Println(中年)} } 二、循环语句 1.传统for循环 package mainimport fmtfunc main() {var sum 0for i : 0; i 100; i {sum i}fmt.Println(sum) }2.死循环 package mainimport (fmttime )func main() {//每隔1秒打印当前的时间for {time.Sleep(1 * time.Second)fmt.Println(time.Now().Format(2006-01-02 15:04:05)) // 年月日时分秒的固定格式} }3.while模式 package mainimport fmtfunc main() {//由于golang没有while循环如果需要则是由for循环稍微变化得来i : 0sum : 0for i 100 {sum ii}fmt.Println(sum) }4.do-while模式 package mainimport fmtfunc main() {//do-while模式就是先执行一次循环体再判断i : 0sum : 0for {sum iiif i 101 {break}}fmt.Println(sum) }5.遍历切片 package mainimport fmtfunc main() {// 第一个参数是索引第二个参数是值s : []string{os, lee}for index, s2 : range s {fmt.Println(index, s2)} }6.遍历map package mainimport fmtfunc main() {//第一个参数就是key第二个就是values : map[string]int{age: 24,price: 1000,}for key, val : range s {fmt.Println(key, val)} }7.breakcontinue break用于跳出当前循环continue用于跳过本轮循环 三、函数指针  函数是一段封装了特定功能的可重用代码块用于执行特定的任务或计算 函数接受输入参数并产生输出返回值 1.函数定义  package mainimport fmtfunc add(n1 int, n2 int) int {fmt.Println(n1, n2)return n1 n2 }// 参数类型一样可以合并在一起 func add1(n1, n2 int) int {fmt.Println(n1, n2)return n1 n2 }// 多个参数 func add2(numList ...int) {fmt.Println(numList) }func main() {i : add(1, 2)fmt.Println(i)i2 : add1(1, 2)fmt.Println(i2)add2(1, 2, 3, 4) }2.匿名函数 匿名函数Anonymous Function是一种没有命名的函数定义。  特点 无名称匿名函数没有显式的名字因此不能像普通函数那样通过名字被调用或在其他地方被引用。内联定义可以在需要使用函数的地方直接定义无需单独的函数声明或定义部分。简洁性特别适合用于一次性使用的简单功能避免了为一个小功能特意命名一个函数的繁琐。可赋值给变量匿名函数可以赋值给一个变量通过变量名来调用此时变量充当了函数的“代理名”。可作为参数或返回值匿名函数可以作为其他函数的参数或返回值这是高阶函数的基础。访问外部变量匿名函数可以访问其定义时所在作用域内的变量形成闭包。 package mainimport fmtfunc main() {var add func(a, b int) int {return a b}fmt.Println(add(1, 2)) }3.高阶函数 高阶函数是指可以接收一个或多个函数作为参数或者返回一个函数作为结果的函数。这样的函数提升了代码的抽象层次使得我们能够以更通用和灵活的方式处理函数从而简化代码并促进复用。 package mainimport fmtfunc ApplyToIntList(list []int, f func(int) int) []int {result : make([]int, len(list))for i, v : range list {result[i] f(v)}return result }func main() {// 编写一个高阶函数接受一个整数列表和一个处理函数作为参数返回处理函数对该列表所有元素应用后的结果列表。 示例代码squareAll : ApplyToIntList([]int{1, 2, 3, 4}, func(x int) int { return x * x })fmt.Println(squareAll) // 输出[1, 4, 9, 16] }4.闭包  闭包是一种特殊的函数是该函数和其周围环境即自由变量组成的绑定关系。当一个函数访问其外部作用域中的变量时即使在其外部作用域已经结束函数返回后只要闭包还在使用这些变量仍会保持活跃。闭包常与高阶函数一起使用作为高阶函数的返回值或参数。 package mainimport fmtfunc counter() func() int {count : 0return func() int {countreturn count} }func main() {// counter高阶函数func() int是闭包counterFunc : counter()fmt.Println(counterFunc()) // 输出1fmt.Println(counterFunc()) // 输出2fmt.Println(counterFunc()) // 输出3// 创建另一个计数器实例anotherCounter : counter()fmt.Println(anotherCounter()) // 输出1 }5.值传递和引用传递 值传递函数接收到的是实参的副本对形参的修改不影响实参。引用传递函数接收到的是实参的引用对形参的修改直接影响实参。 稍微了解过编程的都应该知道计算机上显示的所有的数据都是在内存里面的 也就是说我们定义的一个变量它也在内存里面有一块地 正常情况下来说函数的参数是将之前那块地复制了一份出来 如何证明呢 package mainimport fmtfunc add(num int) {fmt.Println(num) // 可以看到这个n的内存地址和外面num的内存地址是明显不一样的num 2 // 这里的修改不会影响外面的num }func main() {num : 20fmt.Println(num)add(num)fmt.Println(num) // 20 }也就是说在函数里面不管怎么修改这个参数都不会影响原来的那个值 但是如果我需要在函数体内修改变量的值呢 这就需要用到引用传递了 我们直接将变量的内存地址传递进去 package mainimport fmtfunc add(num *int) {fmt.Println(num) // 内存值是一样的*num 2 // 这里的修改会影响外面的num }func main() {num : 20fmt.Println(num)add(num)fmt.Println(num) // 成功修改 2 }6.指针 指针是一种特殊的数据类型它存储的是另一个变量的内存地址。简单来说指针就是一个变量的“地址标签”通过这个标签程序可以直接访问和操作该变量在内存中的值。理解指针的关键在于以下几个方面 内存地址与值 变量在内存中占据一块特定的空间每个变量都有一个唯一的内存地址。变量的值就是存储在这块内存空间中的数据。 指针变量声明 声明一个指针变量时使用星号 * 作为前缀来表示这是一个指针类型并指定它指向的值的类型。声明格式为 var pointerName *typeName其中 pointerName 是指针变量名typeName 是它所指向的值的类型。例如var xPtr *int 声明了一个名为 xPtr 的指针它指向一个整型int变量。 指针初始化与赋值 初始化指针时通常使用取地址运算符  来获取一个变量的内存地址并将其赋值给指针变量。例如x : 10; xPtr : x这里 xPtr 被初始化为变量 x 的内存地址。 解引用与指针操作 使用指针访问或修改其指向的值时需要通过解引用操作。解引用是使用指针变量前的星号 * 运算符来实现的。例如*xPtr 20 会通过 xPtr 修改其指向的整型变量的值为 20。同样y : *xPtr 会通过 xPtr 获取其指向的值并将其赋值给变量 y。 指针运算限制 Go语言中的指针不能进行算术运算如加减法这是与C语言的重要区别。试图对指针进行算术运算会在编译阶段报错。 指针用途 提高性能通过指针传递大对象时避免了值拷贝提高了效率。修改函数外部变量函数参数为指针时函数内部可以修改外部变量的值。实现动态数据结构如链表、树等节点间通过指针连接。回调函数和闭包闭包常常需要捕获并保持对外部变量的引用这通常是通过指针实现的。 我们只需要记住 是取地址*是解引用获取这个地址指向的值 四、init函数和defer函数 1.init函数 init函数用于在程序启动时执行一些初始化任务如设置默认值、打开数据库连接、加载配置等。 init函数具有以下特点 无须显式调用init函数由Go运行时自动调用无需在代码中显式调用。无参数、无返回值init函数没有参数也不返回任何值。可出现在任何包、任何源文件中一个包package中可以有多个init函数分布在不同的源文件中。 执行顺序init函数的执行顺序遵循以下规则 包内顺序同一个包中init函数按照它们在源文件中出现的顺序依次执行。如果一个源文件中有多个init函数那么它们按照从上到下的顺序执行。包间顺序不同包之间的init函数按照包导入的依赖关系进行排序。首先执行被导入包间接或直接的所有init函数然后才执行导入包本身的init函数。具体而言如果包A导入了包B那么包B中的所有init函数将在包A中的所有init函数之前执行。主包main包主包包含main()函数的包的init函数总是在所有非主包的init函数之后执行。 2.defer函数  defer语句用于延迟执行一个函数调用直到包含该defer语句的函数返回时才执行。defer语句通常用于资源清理、解锁、关闭文件、网络连接等需要确保在函数结束时执行的操作。 defer函数具有以下特点 延迟执行defer语句指定的函数调用会在包含它的函数或方法即将返回时无论正常返回还是通过panic异常返回都会被执行。这种特性使得defer函数特别适合用于确保资源的正确释放即使在函数执行过程中发生错误或异常。 后进先出LIFO顺序在同一函数中如果有多个defer语句它们的执行顺序与声明顺序相反即最后声明的defer函数最先执行最先声明的defer函数最后执行。这种顺序类似于栈的行为。 参数求值defer语句中的函数参数在defer语句执行时即函数调用前就已经求值但函数体的执行是在函数返回时。 注意事项 defer函数的返回值会被计算但会被丢弃因此defer通常用于无返回值的函数调用。大量使用defer可能会对函数的性能造成轻微影响尤其是在函数调用非常频繁的场景。应合理使用避免过度依赖。如果defer函数内部引发了panic后续的defer函数仍会按照后进先出的顺序执行直到遇到recover函数捕获该panic或者函数结束时panic传播到上层调用者。 3.defer面试题 package mainfunc DeferFunc1(i int) (t int) {// t 1t idefer func() {t 3}()return t } func DeferFunc2(i int) int {t : idefer func() {t 3}()return t } func DeferFunc3(i int) (t int) {defer func() {t i}()return 2 }// DeferFunc1中有名返回指定返回值命名func test() (t int)执行 return 语句时并不会再创建临时变量保存defer 语句修改了t即对返回值产生了影响所以返回4。 // DeferFunc2中无名返回返回值没有指定命名执行Return语句后Go会创建一个临时变量保存返回值defer 语句修改的是 t而不是临时变量所以返回1。 // DeferFunc3中有名返回执行 return 语句时把2赋值给tdefer 语句再执行t1所以返回3。 func main() {println(DeferFunc1(1))println(DeferFunc2(1))println(DeferFunc3(1)) }

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

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

相关文章

上海网站设计培训班wordpress类别id

Python算法题集_全排列 题46:全排列1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【标记数组递归】2) 改进版一【指针递归】3) 改进版二【高效迭代模块】4) 改进版三【高效迭代模块极简代码】 4. 最优算法5. 相关资源 本文为Python…

常州 网站设计昆山网站制作昆山网站建设

1.窗口函数之排序函数 RANK, DENSE_RANK, ROW_NUMBER RANK函数 计算排序时,如果存在相同位次的记录,则会跳过之后的位次 有 3 条记录排在第 1 位时: 1 位、1 位、1 位、4 位…DENSE_RANK函数 同样是计算排序,即使存在相同位次的记录,也不会跳过之后的位次 有 3 条记录排在…

网站建设时间如何查询公司需要一个简单的网站

🚀个人主页:为梦而生~ 关注我一起学习吧! 💡专栏:机器学习 欢迎订阅!相对完整的机器学习基础教学! ⭐特别提醒:针对机器学习,特别开始专栏:机器学习python实战…

做a高清视频在线观看网站游戏平台网站的建设规划

在企业顺应消费升级的道路中,企业自身不仅要着力强化对于消费者服务意识的提升,并且要树立诚信自律的行业示范带头作用,助力消费环境稳中向好,不断满足人民群众对美好生活的期待。企业的发展需要消费者的认可,酷开科技…

搭建个网站体验营销策略

在 知道要做基于移动端的项目实践时,我就选定了Android,回来的时候查了很多相关的知识,很多人都在问开发安卓软件,使用eclipse还是用 Android studio?其实,也没有一个准确的答案,但是可以肯定的…

织梦做的网站后台登录网站服务器租用价格一般多少钱?

尊重开发人员的劳动成果。转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/27186557Hello World 分析打开新建的"findmistress"项目,能够看到项目文件是由多个代码文件及目录组成的。当中 Hello World 的代码文件直…

苏州市吴中区住房和城乡建设局网站徽章设计制作小程序

动量振荡指标AO(Awesome Oscillator)衡量的是最近5根K线的动量与过去34根K线的动量对比,反映市场驱动力的变化。 一、动量振荡指标公式(副图) 动量振荡指标AO计算公式: 1、计算中间价,将最高价和最低价的和除以2&…

网站seo诊断报告怎么写个人网站设计首页界面

【目录】 lib dll介绍 生成动态库 调用动态库 生成静态库 调用静态库 首先介绍一下静态库(静态链接库)、动态库(动态链接库)的概念,首先两者都是代码共享的方式。 静态库:在链接步骤中,连接器将…

网站视觉设计方案信息网络系统

目录 一、生命周期和作用域1、生命周期2、作用域 二、static 的影响1、static的作用2、static 修饰局部变量 三、extern 的魔力四、static 与 extern 的协同与冲突1、static修饰全局变量2、static修饰函数 在 C 语言的世界里, static 和 extern 这两个关键字在函数的…

seo网站建设及扩词建筑效果图网站有哪些

Redis 做缓存虽减轻了 DBMS 的压力,减小了 RT,但在高并发情况下也是可能会出现各种问题的。 缓存穿透 当用户访问的数据既不在缓存也不在数据库中时,就会导致每个用户查询都会“穿透”缓存“直抵”数据库。这种情况就称为缓存穿透。当高度发…

电商网站用什么做最好100个最全的免费网站

还有4天就世界杯了,作为一个资深(伪)球迷,必须要实时关注世界杯相关新闻,了解各个球队动态,这样才能在一堆球迷中如(大)鱼(吹)得(特)水…

dede游戏网站模板做网站站长

文章目录 基于pytorch的LSTM进行字符集文本生成前言一、数据集二、代码实现 1.到入库和LSTM进行模型构建2.数据预处理函数3.训练函数4.预测函数5.文本生成函数6.主函数完整代码总结 前言 本文介绍了机器学习中深度学习的内容使用pytorch构建LSTM模型进行字符级文本生成任务 一…

wordpress分站网站建设及维修合同范本

Java中的线程——创建 创建多线程方式一:继承Thread类方式二:实现Runnable接口方式三:实现Callable接口 线程的常用API 创建多线程 方式一:继承Thread类 定义一个子类MyThread继承线程类java.lang.Thread,重写run方法…

临安规划建设局网站渭南网站建设价格

1.OSI 七层模型? OSI 七层模型:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层 TCP/IP 五层模型:应用层、传输层、网络层、链路层、物理层 应用层 应用层是由网络应用程序使用的,是离用户最近的一层 应用层通过…

网站建设模板免费下载湖南企业建站系统平台

天锐绿盾是一款自动化行业文件数据防泄密软件,由德人合科技提供。该软件采用动态加解密技术,能够有效防止公司内部数据泄密,同时支持各种文件格式加密,如CAD、OFFICE、PDF、图纸等。 PC端:https://isite.baidu.com/sit…

口碑最好的网站建设成都 视频网站建设

一、简介 Rspack CLI 官方文档。 rspack.config.js 官方文档。 二、创建 vue 项目 创建项目(文档中还提供了 Rspack 内置 monorepo 框架 Nx 的创建方式,根据需求进行选择) # npm 方式 $ npm create rspacklatest# yarn 方式 $ yarn create…

专注聊城做网站的公司net网站开发net网站开发

文件上传下载 SpringMVC封装了Tomcat的上传文件功能 MultipartResolver接口 MultipartResolver接口定义了文件上传过程中的相关操作,并对通用性操作进行了封装MultipartResolver接口底层实现类CommonsMultipartResovlerCommonsMultipartResovler并未自主实现文件上…

贵阳哪里做网站网站设计公司网站专业

181基于51单片机的数控直流可调电源设计[proteus仿真] 电源系统这个题目算是课程设计和毕业设计中常见的题目了,本期是一个基于51单片机的数控直流可调电源设计 需要的源文件和程序的小伙伴可以关注公众号【阿目分享嵌入式】,赞赏任意文章 2&#xffe…

网站页面维护学校的网站怎么做的

1.2.1 赋值运算 学习目标 这一节,我们从 基础知识、简单实践、小结 三个方面来学习 基础知识 简介 awk本质上属于一种编程语言,所以它具有编程语言的一般功能,表达式、流程控制等基本上都在awk中具有想当程度的使用。这一节我们学习awk进…

山河集团建设有限公司网站温州联科网站建设

任何时候,如果我们想要为请求添加全局功能,例如身份认证、错误处理等,在请求发送给服务器之前或服务器返回时对其进行拦截,是比较好的实现手段。 angularJs通过拦截器提供了一个从全局层面进行处理的途径。 四种拦截器 实现 req…