Go语言学习日志(一)

发布于:2025-07-19 ⋅ 阅读:(16) ⋅ 点赞:(0)

1、无效的标识符开头

  • 1ab(以数字开头)
  • case(Go语言的关键字)
  • a+b (不允许运算符)

 2、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

 除了以上介绍的这些关键字,Go语言还有36个预定义标识符:

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

3、 格式化字符串

Go语言中使用fmt.Sprintf 或 fmt.Printf 格式化字符串并赋值给新串

  • Sprintf根据格式化参数生成格式化的字符串并返回该字符串
  • Printf根据格式化参数生成格式化的字符串并写入标准输出
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)
    fmt.Println(target_url)
}

 4、Go语言数据类型

布尔型

只可以是常量true or false

数字类型

整型int和浮点型float32、float64,Go语言支持整型和浮点型数字,并且支持复数,其中位的运算采用补码。(unit8、unit16、uint32、unit64、int8、int16、int32、int64 )(float32、float64、complex64、complex128 )(byte、rune、uint、int、uintptr)

字符串类型

派生类型

  • 指针类型(Pointer)
  • 数组类型
  • 结构化类型(struct)
  • Channel类型
  • 函数类型
  • 切片类型
  • 接口类型(interface)
  • Map类型

 5、Go语言变量

Go语言变量由字母、数字、下划线组成,其中首个字符不能为数字。

声明 变量的一般形式是使用 var 关键字 

var indentifier type

一次可以声明多个变量

var indentifier1  indentifier2 type

变量声明时,如果没有初始化,则变量默认为零值。

package main
import "fmt"
func main() {

    // 声明一个变量并初始化
    var a = "RUNOOB"
    fmt.Println(a)

    // 没有初始化就为零值
    var b int
    fmt.Println(b)

    // bool 零值为 false
    var c bool
    fmt.Println(c)
}

 三种情况

  1. 指定变量类型,如果没有初始化,则变量默认为零值
  2. 根据值自行判定变量类型
  3. 变量已经var声明过,再使用:=声明变量,就产生编译错误,

 在Go语言中,=和:=是两个不同的赋值运算符,它们的主要区别如下:

1、=是赋值运算符:作用是把右边表达式的值赋给左边已经声明的变量

var a int     // 先声明变量a
a = 10 

要求变量必须已经声明过 

2、:=是短变量声明并赋值的运算符

 它能够在声明量的同时为其赋值,而且变量的类型可以根据所赋的值自动推导出来

变量必须是尚未声明过的,不然也会出现编译错误。

a:=10

还能用于同时声明并赋值多个变量

a, b := 10, "hello"
// 类型相同多个变量, 非全局变量
var vname1, vname2, vname3 int
vname1, vname2, vname3 = 1, 2, 3

var vname7, vname8, vname9 = 1, 2, 3 // 和 python 很像,不需要显示声明类型,自动推断

vname4, vname5, vname6 := 1, 2, 3 // 出现在 := 左侧的变量不应该是已经被声明过的,否则会导致编译错误

 6、Go语言常量

常量中的数据类型只可以是布尔型、数字型 和 字符串型

const identifier [type] = value

常量还可以用作枚举的形式

const{

    Unknown = 0
    Female = 1
    Male = 2
}

常量可以用len()、cap()、unsafe.Sizefof()函数计算表达式的值


网站公告

今日签到

点亮在社区的每一天
去签到