【GO】go语言基础

go语言基础

学习地址:
GO指南:https://tour.go-zh.org/list
GO编程基础视频课程:https://learnku.com/docs/go-fundamental-programming
GO标准库文档:https://pkg.go.dev/std

  1. 程序最前面引入main包: package main
  2. 导入包的格式:
    import (
    包路径1
    包路径2 …
    )
    导入多个包时可以通过import()这种分组的形式,在()内写多个路径,也可以写多个import 路径,就像python那样。但分组的形式更好
  3. 在引用所导入的包中的变量时,首字母大写的表示已导出的,就是说包中已定义好的变量在调用时首字母必须大写。
  4. (已导入的包必须调用,否则会报错?)
package main

import (
	"fmt"
	"math/rand"
)

func main() {
	fmt.Println("My favorite number is", rand.Intn(10))
}

函数

  1. 参数个数:没有或多个,和其他语言的定义差不多
  2. 参数的类型在变量名称之后:x int, y int,若连续多个参数的类型一样,则可以只写最后一个参数的类型,比如上面的两个参数可以写成x, y int。
  3. 返回值类型在方法名称定义之后,有点像C#?而且如果有返回值必须在函数参数之后标明返回值类型,有几个返回值就标明几个返回值类型
  4. 直接返回:return后不接任何内容,但需要在函数声明之后命名返回值,在函数体中直接使用,最终return的就是这些一开始在前面命名的返回值(有点像定义在函数体之外的局部变量)
package main

import "fmt"

func add(x int, y int) int {
	return x + y
}

func main() {
	fmt.Println(add(42, 13))
}

变量

  1. var声明变量,并在变量名称之后声明变量的类型
  2. Int类型变量的默认值为0,bool 类型变量的默认值为false
  3. 变量初始化,声明几个变量就对应的初始化几个值,在声明变量的同时初始化时可以不声明变量的类型,比如var i, j = 1, 2,其中i,j可以不用在后面声明类型
  4. 短变量声明:不使用var声明使用赋值语句:=声明变量,比如x := 1,就说明声明了一个名为x的变量赋值为1,但是这种短变量声明只能用在函数体内部,不能用在函数外,函数外的变量都必须以var关键字声明
package main

import "fmt"

var c, python, java bool

func main() {
	var i int
	fmt.Println(i, c, python, java)
}

基本类型

  1. int, uint(具体大小跟随机器,32位系统上为32位宽,64位系统上为64位宽),int8,int16,int32,int64
  2. uint,uint8,uint16,uint32,uint64,uintptr
  3. byte(uint8的别名)
  4. rune(int32的别名,表示一个unicode码点?不懂)
  5. float32,float64
  6. complex64,complex128(复数)
  7. 零值,没有明确初始化的变量被赋成零值,数值类型的零值为0,布尔类型为false,字符串类型为“”
  8. 类型转换,必须显示进行类型转换,直接将一种类型的值赋给另一种类型的变量会报错,需要显示的将右边的值的类型转换成和左边一样的类型。
  9. 常量:const声明,常量不能用赋值语句声明
  10. 数值常量:高精度的值
package main

import (
	"fmt"
	"math"
)

func main() {
	var x, y int = 3, 4
	var f float64 = math.Sqrt(float64(x*x + y*y))
	var z uint = uint(f)
	fmt.Println(x, y, z)
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值