Go语言入门:Go程序的基础结构
2023-12-27 05:59:45
文章目录
1. go程序的基本结构
1.1. 包(其他项目的第三方包)
1.1.1. 导入其他项目(找到要使用的第三方包)
- 只使用一个包:使用import “fmt”
- 分组导入:
import (
"fmt"
"math"
)
- 使用导入第三方包的方法
1. fmt中可以进行打印和字符串拼接
fmt.Println("hello world") //打印hello world
2. math中有许多关于计算的方法:
math.Sqrt(25)=5 //即将参数开方
1.2. 变量
1.2.1. 基本类型
Go 的基本数据类型有:
bool
string
int int8 int16 int32 int64
uint uint8 uint16 uint32 uint64 uintptr
byte // uint8 的别名
rune // int32 的别名
// 表示一个 Unicode 码点
float32 float64
complex64 complex128
本例展示了几种类型的变量。 同导入语句一样,变量声明也可以“分组”成一个语法块。
int, uint 和 uintptr 在 32 位系统上通常为 32 位宽,在 64 位系统上则为 64 位宽。 当你需要一个整数值时应使用 int 类型,除非你有特殊的理由使用固定大小或无符号的整数类型。
package main
import (
"fmt"
"math/cmplx"
)
// 声明常量
var (
ToBe bool = false
MaxInt uint64 = 1<<64 - 1
z complex128 = cmplx.Sqrt(-5 + 12i)
)
func main() {
fmt.Printf("Type: %T Value: %v\n", ToBe, ToBe)
fmt.Printf("Type: %T Value: %v\n", MaxInt, MaxInt)
fmt.Printf("Type: %T Value: %v\n", z, z)
}
1.2.2. 声明
- var关键字
// 使用 var 关键字
var variable_name type
// 同时声明多个变量
var variable1, variable2, variable3 type
- 短声明
variable_name := value
//如:
number := 1
- 常量声明
// 使用 const 关键字
const constant_name type = value
// 常量声明
const Pi float64 = 3.1415926
此外值得注意的是:
短声明可以在for循环中直接用,但是var不可以在for的判断前使用
1.2.3. 变量的作用域,
在go语言中,作用域的范围就是{}之间的部分
1.2.4. 整数类型
uint8:无符号 8 位整数(0 到 255)。
uint16:无符号 16 位整数(0 到 65535)。
uint32:无符号 32 位整数(0 到 4294967295)。
uint64:无符号 64 位整数(0 到 18446744073709551615)。
int8:有符号 8 位整数(-128 到 127)。
int16:有符号 16 位整数(-32768 到 32767)。
int32:有符号 32 位整数(-2147483648 到 2147483647)。
int64:有符号 64 位整数(-9223372036854775808 到 9223372036854775807)。
1.2.5. 类型转换
在 Go 语言中,类型转换用于将一个类型的值转换为另一个类型。类型转换可以是显式的或隐式的,下面是一些常见的类型转换方式:
- 显式类型转换:使用类型转换操作符将一个类型的值转换为另一个类型。
// 将 int 类型转换为 float64 类型
float64Num := float64(10)
- 隐式类型转换:当 Go 语言在进行赋值、函数调用或表达式计算时,会根据上下文自动进行类型转换。
// 将 float64 类型转换为 int 类型,会将浮点数的整数部分转换为整数
intNum := int(3.5)
需要注意的是,类型转换可能会导致精度丢失或其他意外行为,因此在进行类型转换时,需要确保转换是安全的,并注意可能的范围限制或数据丢失。
1.3函数
函数是一种用于执行特定任务的代码块。函数可以接受输入参数,并返回输出结果。Go 语言的函数具有以下特点:
- 函数定义:使用 func 关键字来定义函数,指定函数名、输入参数列表和返回值类型。
func functionName(input Parameters) return ValueType {
// 函数体
}
- 函数调用:通过函数名和相应的参数来调用函数。
result := functionName(input Parameters)
- 输入参数:函数可以接受零个或多个输入参数,每个参数都有指定的类型。
- 返回值:函数可以返回零个或多个返回值,根据函数的定义指定返回值类型。
- 函数作用域:函数内部定义的变量和常量仅在函数内部可见,外部无法访问。
- 匿名函数:可以使用匿名函数作为函数的参数或返回值。
- 递归函数:Go 语言支持函数的递归调用。
- 错误处理:可以使用 error 类型返回错误信息。
Go 语言的函数是第一类对象,可以作为变量进行传递和操作。这使得函数在 Go 语言中具有很高的灵活性和可复用性。
文章来源:https://blog.csdn.net/m0_64941684/article/details/135217255
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!