当前位置: 首页 > news >正文

山东网站排行手机网站搭建平台

山东网站排行,手机网站搭建平台,软件平台搭建流程,甘肃庆阳今天重大新闻核心化编程 为什么需要函数? 代码冗余问题不利于代码维护函数可以解决这个问题 函数 函数:为完成某一功能的程序指令(语句)的集合,称为函数 在 Go 中,函数分为:自定义函数(自己写…

核心化编程

为什么需要函数?

  1. 代码冗余问题
  2. 不利于代码维护
  3. 函数可以解决这个问题

函数

函数:为完成某一功能的程序指令(语句)的集合,称为函数

在 Go 中,函数分为:自定义函数(自己写的)、系统函数(系统提供的)

函数的定义

基本语法:

func 函数名(形参列表) (返回值列表) {执行语句...return 返回值列表
}
  • 形参列表:表示函数的输入
  • 函数中的语句:表示为了实现某一功能代码块
  • 函数可以有返回值,也可以没有

包的引入:

  • 在实际开发中,我们往往需要在不同的文件中,去调用其他文件的定义的函数,比如在 main.go 中,去使用 utils.go 文件中的函数,如何实现?——》包
  • 现在有两个程序员共同开发一个 Go 项目,程序员A 希望定义函数 cal,程序员B 也想定义函数 cal,两个程序员吵起来了,怎么办?——》包

包的原理图

包的本质实际上就是创建不同的文件夹,来存放程序文件

 

 

 包的介绍

包的概念:

说明:go 的每一个文件都是属于一个包的,也就是说 go 是以包的形式来管理文件和项目目录结构的

包的三大作用:

  1. 区分相同名字的函数,变量等标识符
  2. 当程序文件很多时,可以很好的管理项目
  3. 控制函数、变量等访问范围,即作用域

包的相关说明:

  • 打包基本语法
    • package util
  • 引入包的基本语法
    • import "包的路径"

包的快速入门:

说明:包的快速入门——》Go 相互调用函数

使用包里面的函数

包名.函数名( )

包的注意事项和细节说明:

  1. 在给一个文件打包时,该包对应一个文件夹,比如这里的 utils 文件夹对应的包名就是 utils,文件的包名 通常 和文件所在的文件夹名一致,一般为小写字母
  2. 当引入一个文件要使用其它包函数或变量时,需先引入对应的包
    • 引入方式1:import "包名"
    • 引入方式2: import ( "包名")(和引入fmt 一样)
    • package 指令在文件第一行,然后是 import 指令
    • 在 import 包时,路径从 $GOPATH 的 src 下开始,不用带 src ,编译器会自动从 src 下开始引入
  3. 为了让其他包的文件,可以访问到本包的函数,则该函数名的首字母需要大写,类似其它语言的 public,这样才可以跨包访问。(比如 untils.go )
  4. 在访问其他包函数时,其语法是: 包名。函数名
  5. 如果包名较长,Go 语言支持给包取别名。注意细节:取别名后,原来的包名就不能使用了。说明:如果给包取了别名,则需要使用别名来访问该包的函数和变量
  6. 在同一个包下,不能有相同的函数名(也不能有相同的全局变量),否则报重复定义错误
  7. 如果你要编译成一个可执行程序文件,就需要将这个包声明为 main,即 package main。这个就是一个语法规范,包名可以自定义
    • 编译时需要编译 main 包所在的文件夹
    • 可以指定生产的可执行文件名 .exe,放在指定路径
      • go build -o bin\my.exe 后面时mian.go所在的路径
      • -o  代表输出
    • 当编译完会生成一个 pkg 文件,里面是库包 .a(里面是二进制)

函数的调用机制

 

 

 

 

 

 

  • 在调用一个函数时,会给该函数分配一个新的空间,编译器会通过自身的处理让这个新的空间和其他的栈的空间区分开来
  • 在每个函数对应的栈中,数据空间是独立的,不会混淆
  • 当一个函数调用完毕(执行完毕)后程序会销毁这个函数对应的栈空间。

return 语句

基本语法

Go 函数支持返回多个值,这一点是其他编程语言没有的

func 函数名(形参列表) (返回值列表) {语句...return 返回值列表
}
  1. 如果返回多个值时,在接收时,希望忽略某个返回值,则使用 _ 符号表示占位忽略
  2. 如果返回值只有一个,(返回值类型列表)可以不写 ()

 

http://www.yayakq.cn/news/178625/

相关文章:

  • 免费网站优化怎么做商务类网站
  • wordpress建两个网站网页游戏开发入门
  • 建设一个网站需要做哪些工作内容西安风险等级最新
  • 网站改版建议重庆做优化的网络公司
  • 手机模版网站价格虎皮椒支付WordPress
  • 网站集约化建设探讨网络推广优化工具
  • 北京网站改版哪家好一份完整app运营推广方案
  • 做网站导航站的注意点设计类电子书网站
  • 武义公司网站建设wordpress 搭建 cms
  • 山东德州网站建设电子商务是干什么工作的
  • 东莞网站制作 东莞企业网站制作工业产品设计图片
  • 建设网站的网络公司潍坊seo
  • 衡水企业做网站高权重网站做员会来顶排名
  • 提供秦皇岛网站建设哪里有sousou提交网站入口
  • 手机小说网站源码重庆网站建设子沃科技熊掌号
  • 淄博网站营销与推广wordpress禁止谷歌
  • 济南网站搜索优化网站生成器
  • 泉州建站哪些公司网站平台建设可行性
  • 网站注册域名位置爱淘宝网页网站建设
  • 学做衣服网站3维网站制作技术
  • 毕业设计代做淘宝好还是网站好国税网站页面建设中
  • 无锡cms建站wordpress 导入网页
  • 北京网站建设公司 网络服务岳阳市交通建设投资公司门户网站
  • 免费软件安装网站建网站做cpa
  • 河南广告制作公司网站关于校园网站的策划书
  • 电子商务网站建设 填空题网络科技加我qq是干嘛
  • asp网站建设 win7合肥网站制作模板推荐
  • 公司网站备案电话丑陋网站设计赏析
  • 有个电商网站模板安徽省做网站
  • 小型电子商务网站规划建设方案公司做网站的费用属于什么费用