• 函数

    不支持命名参数与默认值

    • 可变参数

      求多个int的和

      func IntSum(x ...int) {
      sum := 0
      for _, v := range x {
      sum += v
      }
      return sum
      }
    • 返回值命名

      相当于在函数内部声明了返回值变量

      func calc(x, y int) (sum int) {
      sum := x + y
      return
      }
    • 全局变量

      全局变量尽量少用,需要有区分度,再局部变量可能会重复声明出现混淆

      var name = "mkl"
      func main() {
      name = "bob" // 修改全局变量
      name := "Marry" // 又重新声明一个可用的声明局部变量
      }
    • if判断语句中的作用域

      不得在语句块外部使用

      if v, ok != m["mkl"]; ok {
      }
    • 函数类型与函数签名

      • 自定义函数类型
        type myFunc func()
        
        var fx myFunc
        fx = func() { fmt.Println("hello world!") } // 赋值
        fx()
      • 函数签名

        函数定义的格式

    • 高阶函数

      将函数作为参数传入

      能够提高代码的可读性

    • 闭包

      • 匿名函数

        必须立即调用 或者 定义变量名接收

        用在回调函数。闭包

      闭包=函数+引用

      func adder() func(int)int{
      x := 20
      // 函数内部引用了外部函数的变量x
      return func(y int) int {
      x -= y
      return x
      }
      }
      f := adder()
      f(10)
    • defer函数

      函数退出时调用

      执行顺序:先进后出

      适用于释放资源

      func main() {
      fmt.Println("start")
      defer fmt.Println(1)
      defer fmt.Println(2)
      defer fmt.Println(3)
      fmt.Println("end")
      }
      // start
      // end
      // 3
      // 2
      // 1
      • return 语句的底层实现
        return x => 1.返回值=x 2.运行defer 3.RET指令
    • 内置函数

      • close

        关闭channel

      • len

        求 string、array、slice、map、channel的长度

      • new

        分配内存,分配值类型,返回指针

      • make

        分配内存,分配引用类型,返回原对象本身

      • append

        追加元素至数组、slice中

      • panic与recover

        错误处理

函数 | Go语言的更多相关文章

  1. 3204: 数组做函数参数--排序函数2--C语言

    3204: 数组做函数参数--排序函数2--C语言 时间限制: 1 Sec  内存限制: 128 MB提交: 211  解决: 143[提交][状态][讨论版][命题人:smallgyy] 题目描述 ...

  2. 3203 数组做函数参数----排序函数--C语言版

    3203: 数组做函数参数----排序函数--C语言版 时间限制: 1 Sec  内存限制: 128 MB提交: 253  解决: 151[提交][状态][讨论版][命题人:smallgyy] 题目描 ...

  3. <编译原理 - 函数绘图语言解释器(1)词法分析器 - python>

    <编译原理 - 函数绘图语言解释器(1)词法分析器 - python> 背景 编译原理上机实现一个对函数绘图语言的解释器 - 用除C外的不同种语言实现 解释器分为三个实现块: 词法分析器: ...

  4. <编译原理 - 函数绘图语言解释器(2)语法分析器 - python>

    <编译原理 - 函数绘图语言解释器(2)语法分析器 - python> 背景 编译原理上机实现一个对函数绘图语言的解释器 - 用除C外的不同种语言实现 设计思路: 设计函数绘图语言的文法, ...

  5. PHP:函数和语言结构(转)

    转自:https://www.cnblogs.com/fanqiechaodan/articles/5222366.html 什么是语言结构呢?它和函数有什么不同吗? 1.  什么是语言结构和函数 语 ...

  6. <编译原理 - 函数绘图语言解释器(3)解释器 - python>

    <编译原理 - 函数绘图语言解释器(3)解释器 - python> <编译原理 - 函数绘图语言解释器(2)词法分析器 - python> <编译原理 - 函数绘图语言解 ...

  7. 第四章 函数(JavaScript:语言精粹)

    函数包含一组语句,用来指定对象的行为,其代码可以用来重复使用.   一般来说,编程就是将一组需求分解成一组函数和数据结构的技能.   概览:函数对象 | 函数字面量 | 调用 | 方法调用模式 | 函 ...

  8. 大数的加法函数--c语言

    浏览网站http://paste.ubuntu.com/23687758/ #include<stdio.h> #include<stdlib.h> #include<s ...

  9. Linux下普通IO文件操作函数---C语言

    普通文件IO总结 FILE结构体    typedef struct   {       int level; /*填充/清空一级缓存*/     unsigned flag; /*文件状态指针*/ ...

  10. 【转】 strrchr()函数---C语言

    转自:https://baike.baidu.com/item/strrchr/4621437?fr=aladdin   函数名称: strrchr 函数原型:char *strrchr(const ...

随机推荐

  1. Machine Learning Week_1 Linear Algebra Review 1-6

    目录 4 Linear Algebra Review 4.1 Video: Matrices and Vectors unfamiliar words 4.2 Reading: Matrices an ...

  2. 解决mysql的语句中group_concat长度限制问题

    在mysql中,有个函数叫"group_concat",平常使用可能发现不了问题,在处理大数据的时候,会发现内容被截取了.其实MYSQL内部对这个是有设置的,默认不设置的长度是10 ...

  3. Android添加OpenCV支持

    首先下载OpenCV的SDK 推荐在官网下载. 官网地址:https://opencv.org/releases/ 也可以在OpenCV的GitHub上现在 GitHUb链接:https://gith ...

  4. IntelliJ IDEA 2024.1 安装激活 (亲测有效!)

    第一步:下载 IDEA 安装包 访问 IDEA 官网,下载 IDEA 2024.1.4 版本的安装包,下载链接如下 : idea官方链接 也可以在这里点击下载idea下载idea 第二步: 安装 ID ...

  5. 你还用ES存请求日志?ClickHouse+Vector打造最强Grafana日志分析看板

    为什么要做NGINX日志分析看板 Grafana官网的dashboards有NGINX日志采集到ES数据源的展示看板,也有采集到LOKI数据源的展示看板,唯独没有采集到ClickHouse数据源的展示 ...

  6. Qt Creator快捷键记录

    Ctrl + K:代码格式化(先选中要格式化的代码) F4:在头文件和源文件之间切换 Ctrl+/:注释和取消注释 F2:在声明和实现之间切换 Ctrl+K:打开定位器(locator),搜索文件名 ...

  7. 基于常量值提取浅析elf文件结构

    Elf(可执行和可链接文件)是一个永远也绕不开的话题,只要我们还在使用安卓手机/linux服务器,我们就需要了解elf的一些方方面面,现在就让我们从一个常量值提取的小需求出发,逐步解析elf文件结构吧 ...

  8. 基于Java+SpringBoot心理测评心理测试系统功能实现三

    一.前言介绍: 1.1 项目摘要 心理测评和心理测试系统在当代社会中扮演着越来越重要的角色.随着心理健康问题日益受到重视,心理测评和心理测试系统作为评估个体心理状态.诊断心理问题.制定心理治疗方案的工 ...

  9. PC大屏自适应 - 简洁版

    PC大屏自适应通常做法 一般pc端页面布局会取中间一定的宽度,高度自适应.而可视化大屏需要在不同分辨率的显示屏上铺满整个屏幕,这就需要根据屏幕不同分辨率设置不同的宽高也就是自适应布局.在此向小伙伴们推 ...

  10. fabric基本使用

    fabric简介 ​ Fabric 是一个 Python 的库,同时它也是一个命令行工具.它提供了丰富的同 SSH 交互的接口,可以用来在本地或远程机器上自动化.流水化地执行 Shell 命令.使用 ...