Golang 教程
Golang 控制语句
Golang 函数 & 方法
Golang 切片 & 数组
Golang 结构体
Golang 字符串
Golang 接口
Golang 指针
Golang 并发
Golang 异常(Error)
Golang 其他杂项

Go main和init函数

时间:2023年06月10日 阅读:251
以下内容仅是站长或网友个人学习笔记、总结和研究收藏。不保证正确性,因使用而带来的风险与本站无关!
淘客轩-衣食住行外卖生活好助手

Go语言保留了两个特殊用途的函数,这些函数是main()init()函数。

main函数

在Go语言中,main包是一个特殊的软件包,与可执行程序一起使用,并且该package包含main()函数。在main()函数是一种特殊类型的函数,它是可执行程序的入口点。它不带任何参数也不返回任何内容。由于可以自动调用main()函数,因此无需显式调用main()函数,并且每个可执行程序必须包含一个package main和main()函数。

//主包的声明
package main

//导入包
import (
    "fmt"
    "sort"
    "strings"
    "time"
)

func main() {

    //对切片进行排序
    s := []int{345, 78, 123, 10, 76, 2, 567, 5}
    sort.Ints(s)
    fmt.Println("排序后的切片: ", s)

    // 查找索引值
    fmt.Println("索引值为: ", strings.Index("momojc", "ks"))

    //显示当前时间戳
    fmt.Println("时间戳: ", time.Now().Unix())

}

输出:

排序后的切片:  [2 5 10 76 78 123 345 567]
索引值为:  -1
时间戳:  1593335332

init()函数

init()函数就像main函数一样,不带任何参数也不返回任何东西。 每个包中都存在此函数,并且在初始化包时将调用此函数。 该函数是隐式声明的,因此您不能从任何地方引用它,并且可以在同一程序中创建多个init()函数,并且它们将按照创建顺序执行。 您可以在程序中的任何位置创建init()函数,并且它们以词汇文件名顺序(字母顺序)调用。 并允许在init()函数中放置语句,但始终记住要在main()函数调用之前执行init()函数,因此它不依赖于main()函数。   init()函数的主要目的是初始化无法在全局上下文中初始化的全局变量。

package main 
  
import "fmt"
  
//多个init()函数 
func init() { 
    fmt.Println("Welcome to init() function") 
} 
  
func init() { 
    fmt.Println("Hello! init() function") 
} 
  
func main() { 
    fmt.Println("Welcome to main() function") 
}

输出:

Welcome to init() function
Hello! init() function
Welcome to main() function
打赏

本文地址:https://www.momojc.cn/golang/go-main-and-init-function.html

关于本站 | 隐私政策 | 免责声明 | 广告合作 | 我要投稿 | 后台管理

CopyRight © 2023-2024 MOMO教程 WWW.MOMOJC.CN , All Rights Reserved.

站长E-mail:378074730@qq.com 网站已运行:  运行时长:0.039 秒

京ICP备20029690号-1京ICP备20029690号-2 京公网安备11011402013892号京公网安备11011402013892号 中国互联网违法和不良信息举报中心 网络违法犯罪举报网站

本网站托管于 腾讯云 .由网站卫士提供网站加速和攻击防御服务 提供CDN加速/防御服务.由zblogcn强力驱动 又拍云提供CDN加速/云存储服务 51la网站统计