go学习一之go的初体验

go语言学习笔记

一、golang初体验:

1.简单体验案例:

go 复制代码
package main{ //把这个test.go归属到main
import "fmt"  //引入一个包 
func main(){
	//输出hello
	fmt.Println("hello world")

}
}

2.从案例学到的知识点:

(1) go文件的后缀是.go

(2) package main

表示该hello.go文件所在的包是main,在go中每一个文件都要归属于一个包

(3) import "fmt" 表示引入一个包,包名为fmt引入该包后就可以这个包里面的函数

(4) func main(){

}func 表示一个函数main表示一个主函数,go函数执行的入口

(5) fmt.Println("hello world")

表示调用fmt里面的一个包的函数println进行输出hello world

通过go build 命令 对该go文件进行编译,生成 exe文件

最后执行该go文件的话就是进入cmd窗口 进行编译操作

运行hello.exe文件即可

注意:通过go run 命令可以直接运行hello,go程序(类似于执行一个脚本的文件的形式)在真实的生产环境会先编译再去运行go程序

linux下如何开发go环境,与windows开发基本一样,只是运行在可执行文件时使用./文件名方式运行

演示

二、golang执行流程分析

1.go build和go run的执行图解

go build 文件名:对源码编译后,再执行,Go的执行流程如下图所示:

go run 文件名:

​ 通过运行进行对比前者执行速度更快,后者执行速度更慢,因为前面是直接运行二进制语言,后面还要先进行编译成二进制的语言再执行,实际的开发中还是先进行编译成二进制文件

2.两种执行流程的区别(面试重点)

1)如果我们先编译生成了可执行文件,那么我们可以将该可执行文件拷贝到没有go开发环境的机器上,仍然可以运行

2)如果我们是直接go run go源代码,那么要在另一台机器上运行,也需要go开发环境,否则无法运行。

3)在编译时,编译器将程序运行依赖的库文件包含在可执行文件中,所以,可执行文件变大了很多

编译和运行的注意事项

相关推荐
SomeOtherTime27 分钟前
Rust所有权(AI回答)
开发语言·后端·rust
Easyhood42 分钟前
Android 开发入门实践(十四):Compose 副作用入门与四个常用 API
android·开发语言·kotlin·android jetpack·compose
白杨尚青1 小时前
C++进阶篇(六):map 和 set 的模拟实现——用红黑树封装 mymap/myset(迭代器 + operator[])
开发语言·c++·迭代器·stl·set·map·红黑树
程序员cxuan2 小时前
离谱,AI 大佬顺手搓了个 YouTube ,而我顺手给他搓了个中文插件
人工智能·后端·程序员
学长毕设2 小时前
基于springboot科创竞赛信息平台-附源码
java·spring boot·后端
深蓝AI2 小时前
Gemini Decisions API 来了:一次前向打分取代逐字解码,校准误差 0.0250 才是 agent 分支调用的真门槛
人工智能·后端
学长毕设3 小时前
基于SpringBoot公务员考试交流平台-附源码
java·spring boot·后端
IT_陈寒3 小时前
Vue的watch把我坑惨了,原来要这样用才靠谱
前端·人工智能·后端
黃芢輝4 小时前
开源实战:基于 Spring Boot 3 + Vue 3 + Redis 的高校选修课管理系统(志愿填报 + 统一抽签)
后端
小雨的AI中台笔记4 小时前
502 还是 503?「无可用渠道」其实只有三个原因
后端