【速通GO】基础结构和语法

embedded/2024/11/29 14:48:26/

独立站原文

基础结构以及执行方式

基础结构

// 包名
package main// 引入包
import "fmt"// main 函数是每一个可执行程序所必须包含的,一般来说都是在启动后第一个执行的函数(如果有 init() 函数则会先执行该函数
// 注意 { 不能单独放在一行,否则在运行时会产生错误
func main() {/* 这是我的第一个简单的程序 */fmt.Println("Hello, World!")
}

编译运行

假设有一个hello.go文件

  1. 使用go run来运行
$ go run hello.go
Hello, World!
  1. 使用go build来运行
$ go build hello.go
$ ls
hello    hello.go
$ ./hello
Hello, World!

go build:编译并生成可执行文件,适用于发布和生产环境。

go run:编译并立即运行代码,适用于开发和测试阶段。

根据你的需求选择合适的命令,如果你只是在开发过程中测试代码,go run 会非常方便;

如果你需要生成一个可分发的应用程序,go build 则是合适的选择。

基础语法

行分隔符

一行代表一个语句结束,不需要特别用;指出。
如果多个语句在同一行需要使用;来区分

注释

// 单行注释
/*Author by jasperWei我是多行注释*/

标识符

标识符主要用来命名类、实体、方法等。可以由数字、字母、下划线组成,但是第一个不能是数字

字符串连接

Go 语言的字符串连接可以通过 + 实现:

关键字

breakdefaultfuncinterfaceselect
casedefergomapstruct
chanelsegotopackageswitch
constfallthroughifrangetype
continueforimportreturnvar
预定义标识符
appendboolbytecapclosecomplexcomplex64complex128uint16
copyfalsefloat32float64imagintint8int16uint32
int32int64iotalenmakenewnilpanicuint64
printprintlnrealrecoverstringtrueuintuint8uintptr

空格

  1. 关键字和表达式之间要使用空格。
if x > 0 {// do something
}
  1. 在函数调用时,函数名和左边等号之间要使用空格,参数之间也要使用空格。
result := add(2, 3)

格式化字符串

fmt.Sprintf 或 fmt.Printf 可以格式化字符串并赋值给新串

  • Sprintf 根据格式化参数生成格式化的字符串并返回该字符串。
  • Printf 根据格式化参数生成格式化的字符串并写入标准输出
package mainimport ("fmt"
)func main() {// %d 表示整型数字,%s 表示字符串var stockcode=123var enddate="2020-12-31"var url="Code=%d&endDate=%s"var target_url=fmt.Sprintf(url,stockcode,enddate)// Code=123&endDate=2020-12-31fmt.Println(target_url)//Code=123&endDate=2020-12-31fmt.Printf(url,stockcode,enddate)
}

http://www.ppmy.cn/embedded/141496.html

相关文章

【C++笔记】数据结构进阶之二叉搜索树(BSTree)

【C笔记】数据结构进阶之二叉搜索树(BSTree) 🔥个人主页:大白的编程日记 🔥专栏:C笔记 文章目录 【C笔记】数据结构进阶之二叉搜索树(BSTree)前言一.二叉搜索树的概念二.二叉搜索树的性能分析三.二叉搜索树的实现3.1二叉树的中序…

机器学习6-梯度下降法

梯度下降法 目的 梯度下降法(Gradient Descent)是一个算法,但不是像多元线性回归那样是一个具体做回归任务的算法,而是一个非常通用的优化算法来帮助一些机器学习算法求解出最优解的,所谓的通用就是很多机器学习算法都是用它,甚…

如何做好一份技术文档?

技术文档的创作与优化 一、技术文档的规划布局(一)明确文档目的与受众确定目的分析受众 (二)构建章节框架概述章节基础技术概念章节系统架构章节功能实现章节测试与验证章节结论与展望章节 二、技术文档的语言表达(一&…

初级数据结构——二叉搜索树题库(c++)

目录 前言[1.——108. 将有序数组转换为二叉搜索树](https://leetcode.cn/problems/convert-sorted-array-to-binary-search-tree/)[2.——LCR 052. 递增顺序搜索树](https://leetcode.cn/problems/NYBBNL/)[3.——897. 递增顺序搜索树](https://leetcode.cn/problems/increasi…

c/c++ 用easyx图形库写一个射击游戏

#include <graphics.h> #include <conio.h> #include <stdlib.h> #include <time.h>// 定义游戏窗口的大小 #define WINDOW_WIDTH 800 #define WINDOW_HEIGHT 600// 定义玩家和目标的尺寸 #define PLAYER_SIZE 50 #define TARGET_SIZE 20// 玩家的结构…

【qiankun】主应用css隔离、js隔离、日常通信机制

qiankun是一个微前端框架&#xff0c;它提供了多种机制来确保主应用与子应用之间的独立性&#xff0c;包括CSS隔离、JS隔离以及日常通信等。以下是对这些机制的详细解释&#xff1a; 一、CSS隔离 qiankun通过以下方式实现CSS隔离&#xff1a; 自动添加命名空间&#xff1a; …

Exchange 2016(ESEUTIL命令的应用)

使用eseutil命令进行修复 执行ESEUTIL /MH <数据库绝对路径>&#xff0c;查看state是 dirtyshutdown还是cleanshutdown. 1.如果是clean shutdown状态可以执行软修复 注意&#xff1a;软恢复过程的一个基本假设是故障未移动、删除或破坏任何数据库文件或日志文件&#xf…

【八股文】小米

文章目录 一、vector 和 list 的区别&#xff1f;二、include 双引号和尖括号的区别&#xff1f;三、set 的底层数据结构&#xff1f;四、set 和 multiset 的区别&#xff1f;五、map 和 unordered_map 的区别&#xff1f;六、虚函数和纯虚函数的区别&#xff1f;七、extern C …