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

独立站原文

基础结构以及执行方式

基础结构

go 复制代码
// 包名
package main

// 引入包
import "fmt"

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

编译运行

假设有一个hello.go文件

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

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

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

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

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

基础语法

行分隔符

一行代表一个语句结束,不需要特别用;指出。

如果多个语句在同一行需要使用;来区分

注释

复制代码
// 单行注释
/*
 Author by jasperWei
 我是多行注释
 */

标识符

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

字符串连接

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

关键字

break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var
预定义标识符
append bool byte cap close complex complex64 complex128 uint16
copy false float32 float64 imag int int8 int16 uint32
int32 int64 iota len make new nil panic uint64
print println real recover string true uint uint8 uintptr

空格

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

格式化字符串

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

  • Sprintf 根据格式化参数生成格式化的字符串并返回该字符串。
  • Printf 根据格式化参数生成格式化的字符串并写入标准输出
Go 复制代码
package main

import (
    "fmt"
)

func main() {
   // %d 表示整型数字,%s 表示字符串
    var stockcode=123
    var enddate="2020-12-31"
    var url="Code=%d&endDate=%s"
    var target_url=fmt.Sprintf(url,stockcode,enddate)
    // Code=123&endDate=2020-12-31
    fmt.Println(target_url)
    //Code=123&endDate=2020-12-31
    fmt.Printf(url,stockcode,enddate)
}
相关推荐
WL_Aurora7 分钟前
Java字符输入全攻略
java·开发语言
Rust研习社20 分钟前
Rust 的 move 语义,一次讲透
后端·rust·编程语言
IT_陈寒24 分钟前
用了Vue的动态组件之后,我被坑得找不着北
前端·人工智能·后端
茉莉玫瑰花茶30 分钟前
LangGraph 拓展核心知识点
开发语言·windows·python
老鱼说AI42 分钟前
现代 LangChain 开发指南:从 LCEL 原理到企业级 RAG 与 Agent 实战
java·开发语言·人工智能·深度学习·神经网络·算法·机器学习
Michelle802343 分钟前
25大数据 11-1 函数
开发语言·python
aini_lovee1 小时前
C#与倍福PLC(通过ADS协议)通信上位机源程序实现
开发语言·c#
undefinedType1 小时前
深入理解 Rails includes:为什么一个 order(users.xxx) 会导致超级 JOIN 性能问题
后端
fie88891 小时前
基于 MATLAB 的前景背景分割系统
开发语言·matlab
baviya1 小时前
用 Spring AI Alibaba JManus 构建零售智能客服工单系统:从 0 到日处理 10 万单
后端·ai编程