Go第一个程序

go 复制代码
package main

import "fmt"

func main() {
	str := "hello go"
	fmt.Println(str)
}

上述很简单,如何使用os包获取命令行参数呢?

go 复制代码
package main

import (
	"fmt"
	"os"
)

func main() {
	fmt.Println(os.Args)
	str := "hello go with os"
	fmt.Println(str)
}

分析上述的代码:

包的定义package main就用小写单词命名的。

main包一个go程序只允许有一个。

入口函数func main(){}

导入包用import "fmt"

不用显示定义str类型,直接用:=即可。

:=只能在局部作用域内,而不能在全局,全局用var

面试题:

go的类型推断的好处?
可以提升代码的灵活性,重构也更容易,维护也没有负担。而且在编译期完成,不会对运行效率产生任何影响。
Go的程序执行入口是main函数吗?
并不是,因为程序启动要初始化,初始化内存,初始化栈,初始化调度器,这些都是go汇编完成的,而main函数是go的第一个执行的goroutine。

go程序可以任意导入包。

相关推荐
weixin_5310946913 分钟前
heap_4内存管理
java·开发语言·算法
疯狂的维修19 分钟前
关于用C#写电机起保停控制
开发语言·c#
谁在黄金彼岸1 小时前
nginx服务化五套方案原理解剖与选型
后端
谁在黄金彼岸1 小时前
WinSW在Win7上失败真相-实测与修复
后端
花间相见1 小时前
【后端开发|Redis进阶01】—— Redis分布式锁全解:从SETNX到Redisson看门狗,再到RedLock
后端·面试
llqbzllll1 小时前
A2A 1.0 到底和 MCP 差在哪:从 Agent Card、Task 到 Java 最小互操作
后端
花间相见1 小时前
【后端开发|JVM基础01】—— Java垃圾回收全解:从分代内存模型到各收集器的分代职责
后端
geovindu1 小时前
rust: Abstract Factory pattern
开发语言·后端·设计模式·rust·抽象工厂模式
pe7er1 小时前
Spring Boot 日志最佳实践:接入、分级、异常记录与滚动拆分
后端
“AI国潮设计-小江”1 小时前
《Python+SDXL实战:用ControlNet批量生成“英歌舞麻将糕”IP,附自动化脚本与商用思路》
开发语言·人工智能·python·prompt·aigc