包和函数调用底层机制|Go笔记

93 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第11天,点击查看活动详情

文章概览

  • Package
  • 函数调用底层机制

一、Package

包的三大作用

  • 可以区分同名的函数、变量等标识符。
  • 当程序文件很多时,可以高效管理项目。
  • 控制函数、变量等访问范围,即作用域。

基本语法

package util

引入包语法

import "包的路径"

注意事项

  • 当将一个文件打包时,包对应这个文件夹,文件的包名,通常和文件所在的文件名相同,一般是小写字母。
  • 当一个文件要使用的函数、变量来自其他包的话,需要首先引入对应的包。
    • 引入方式一:import "包名"
    • 引入方式二:import ( "包名” "包名" )
  • 包的声明package "包名"在第一行,引入import在包声明的下面。
  • 当引入包时,路径是从$GOPATH的src下开始,不带src,编译器会自动从src下开始引入。
  • 要让其他包的文件访问到本包的函数,函数名的首字母需要大写,这样才能实现跨包访问。
  • 使用其他包函数的语法是包名.函数名。
  • Go支持给包起一个别名,但是取别名后,原来的包名就不能再使用了。
  • 当访问其他包的函数、变量时,语法是 包名.函数名。
  • 再把一个程序编译成一个可执行文件时,要先将对应包声明为main,也就是 package main,这作为一个语法规范。

二、函数调用底层机制

return语句

基本语法

 与其他语言不同的是,Go支持多个返回值。


func 函数名 (形参列表)  (返回值类型列表) {
    语句...
    return 返回值列表
}

  • 当返回多个值,但只接收本部分值,或者忽略某一个值,可以使用 “_ ”符号表示占位忽略。
  • 当返回值只有一个时,(返回值类型列表)可以不填()。