go语言的基础知识

 约 3 分钟

1、go基本数据类型,整型、浮点、布尔、字符(string)
1、双引号, 会识别转义字符
2、反引号,以字符串的原生形式输出,包括换行和特殊字符,可以实现防止攻击、输出源代码等效果

package main

import (
    "fmt"
)
func main() {
    var str1 = "abc\nabc"
    fmt.Println(str1)
    str2 := `
    package main
    import (
        "fmt"
    )
    func hello() {
        var n1 float32 = -123.0000089
        fmt.Println(n1)
    }`
    fmt.Println(str2)
}

3、当一行字符串太长时,需要使用到多行字符串,可以分行写,+号必须保留在上一行
4、Go 在不同类型的变量之间赋值时需要显式转换,在转换时,需要考虑范围,比如将int64 转成int8 【-128---127】,编译时不会报错,只是转换的结果是按溢出处理.
image.png
5、基本类型转string 类型
方式1:fmt.Sprintf("%参数", 表达式)
image.png
方式2:使用strconv 包的函数(FormatBool, FormatInt, FormatFloat, Itoa)
6、string 类型转基本数据类型
strconv.ParseInt 、 ParseFloat、 ParseBool
7、值类型包括:int, float, bool, string 、数组和结构体struct
8、引用类型:指针、slice 切片、map、channel、interface 等都是引用类型
9、运算符%地使用公式:a % b = a - a / b * b
10、字符串转整数:strconv.Atoi
11、golang中根据首字母的大小写来确定可以访问的权限。方法名、常量、变量名、结构体的等名称,如果首字母大写,则可以被其他的包访问;如果首字母小写,则只能在本包中使用
12、:如果一个struct 嵌套了另一个匿名结构体,那么这个结构体可以直接访问匿名结构体的字段和方法,从而实现了继承特性
13、Golang 接口中不能有任何变量,一个接口(比如A 接口)可以继承多个别的接口(比如B,C 接口),这时如果要实现A 接口,也必须将B,C 接口的方法也全部实现
14、interface 类型默认是一个指针(引用类型),如果没有对interface 初始化就使用,那么会输出nil
15、空接口interface{} 没有任何方法,所以所有类型都实现了空接口, 即我们可以把任何一个变量赋给空接口

var t interface{} = Student{
        Name: "tom",
        Age:  20,
    }

16、接口类型 T 的可调用方法集不包含接受者为 *T 的方法

阅读 219

推荐阅读
目录