【速通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)
}
相关推荐
倒霉蛋小马3 分钟前
【Java集合】ArrayList源码深度分析
java·开发语言
烁3473 分钟前
每日一题(小白)回溯篇4
java·开发语言·算法
来自星星的坤6 分钟前
使用 MyBatis-Plus 实现高效的 Spring Boot 数据访问层
spring boot·后端·mybatis
White_Can11 分钟前
《C++探幽:STL(string类源码的简易实现(上))》
开发语言·c++
陈随易14 分钟前
对不起,我还是不推荐你用express和koa
前端·后端·程序员
Emma歌小白17 分钟前
数据库创建表
后端
Lear19 分钟前
Nginx反向代理1Panel,通过域名访问!
后端
无名之逆19 分钟前
在Rust生态中探索高性能HTTP服务器:Hyperlane初体验
运维·服务器·开发语言·后端·http·rust·自动化
网安密谈19 分钟前
椭圆曲线密码学(ECC)深度解析:原理、实现与安全实践
后端
独立开阀者_FwtCoder26 分钟前
基于 MCP Http SSE模式的天气助手智能体开发实战(一文带你了解MCP两种开发模式)
前端·javascript·后端