Go语言入门:Go程序的基础结构

1. go程序的基本结构

1.1. 包(其他项目的第三方包)

1.1.1. 导入其他项目(找到要使用的第三方包)

  1. 只使用一个包:使用import “fmt”
  2. 分组导入:
   import (
  	 "fmt"
  	 "math"
   )
  1. 使用导入第三方包的方法
   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. 声明

  1. var关键字
	// 使用 var 关键字
   var variable_name type
   // 同时声明多个变量
   var variable1, variable2, variable3 type
  1. 短声明
 variable_name := value
 //如:
 number := 1
  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 语言中,类型转换用于将一个类型的值转换为另一个类型。类型转换可以是显式的或隐式的,下面是一些常见的类型转换方式:

  1. 显式类型转换:使用类型转换操作符将一个类型的值转换为另一个类型。
   // 将 int 类型转换为 float64 类型
   float64Num := float64(10) 
  1. 隐式类型转换:当 Go 语言在进行赋值、函数调用或表达式计算时,会根据上下文自动进行类型转换。
   // 将 float64 类型转换为 int 类型,会将浮点数的整数部分转换为整数
   intNum := int(3.5)  

需要注意的是,类型转换可能会导致精度丢失或其他意外行为,因此在进行类型转换时,需要确保转换是安全的,并注意可能的范围限制或数据丢失。

1.3函数

函数是一种用于执行特定任务的代码块。函数可以接受输入参数,并返回输出结果。Go 语言的函数具有以下特点:

  1. 函数定义:使用 func 关键字来定义函数,指定函数名、输入参数列表和返回值类型。
   func functionName(input Parameters) return ValueType {
       // 函数体
   }
  1. 函数调用:通过函数名和相应的参数来调用函数。
   result := functionName(input Parameters)
  1. 输入参数:函数可以接受零个或多个输入参数,每个参数都有指定的类型。
  2. 返回值:函数可以返回零个或多个返回值,根据函数的定义指定返回值类型。
  3. 函数作用域:函数内部定义的变量和常量仅在函数内部可见,外部无法访问。
  4. 匿名函数:可以使用匿名函数作为函数的参数或返回值。
  5. 递归函数:Go 语言支持函数的递归调用。
  6. 错误处理:可以使用 error 类型返回错误信息。

Go 语言的函数是第一类对象,可以作为变量进行传递和操作。这使得函数在 Go 语言中具有很高的灵活性和可复用性。

  • 25
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值