Go语言基础知识

  • 占位符:

    • %v 相应值的默认格式。在打印结构体时,“加号”标记(%+v)会添加字段名
    • %#v 相应值的Go语法表示
    • %T 相应值的类型的Go语法表示
    • %% 字面上的百分号,并非值的占位符
    • %t 布尔类型。
    • %b 二进制表示
    • %c 相应Unicode码所表示的字符
    • %d 十进制表示
    • %o 八进制表示
    • %q 单引号围绕的字符字面值,由Go语法安全地转义
    • %x 十六进制表示,字母形式为小写 a-f
    • %X 十六进制表示,字母形式为大写 A-F
    • %U Unicode格式:U+1234,等同于 “U+%04X”
    • %b 无小数部分的,指数为二的幂的科学计数法,与 strconv.FormatFloat的 ‘b’ 转换格式一致。例如 -123456p-78
    • %e 科学计数法,例如 -1234.456e+78
    • %E 科学计数法,例如 -1234.456E+78
    • %f 有小数点而无指数,例如 123.456
    • %g 根据情况选择 %e 或 %f 以产生更紧凑的(无末尾的0)输出
    • %G 根据情况选择 %E 或 %f 以产生更紧凑的(无末尾的0)输出
    • %s 字符串或切片的无解译字节
    • %q 双引号围绕的字符串,由Go语法安全地转义
    • %x 十六进制,小写字母,每字节两个字符
    • %X 十六进制,大写字母,每字节两个字符
    • %p 十六进制表示,前缀 0x
  • 变量定义方法:

    var b1 bool = true
    var b2 = false
    b3 := true
    
  • const:定义常量,定义后不可改变。

  • iota:系统可编辑常量,可实现自增。

    const (
    		a1 = iota 
    		a2 = iota
    		_  //跳过
    		a3 = iota
    	)
    
    \\	打印结果
    a1: 0
    a2: 1
    a3: 3
    
  • 定义数组

    m := [2]int{1, 2} //固定数组长度
    m1 := []int{1, 2, 3}//可变数组长度
    
  • 数字类型:

    • uint:无符号整型
    • int:有符号整型
    • uintptr:指针类型
    • float32:32位浮点型
    • float64:64位浮点型
  • 快捷输入

    ff --> fmt.Printf("", var)
    fp --> fmt.Println("")
    a.print! --> fmt.Printf("a: %v\n", a)
    tys --> 定义结构体 type name struct {}
    forr --> for _, v := range v
    pkgm --> 	package main
    			func main() {}
    
  • 定义多行字符串:

    s := `
    	line1 
    	line2
    	line3
    	`
    
  • printf 和 println 的区别: 当需要格式化输出信息时,一般选择Printf,其余使用Println

  • 使用goto跳出多层循环:

    func main() {
    	for i := 0; i < 10; i++ {
    		for j := 0; j < 10; j++ {
    			if i == 6 && j == 6 {
    				goto END
    			}
    			fmt.Printf("i: %v j: %v\n", i, j)
    		}
    	}
    END:
    	fmt.Printf("end...")
    }
    
  • 切片(slice): 可变长度的数组

    //切片初始化方法一:(无初始值)
    var slice []int
    //切片初始化方法二:(有初始值)
    var slice = make([]int, 2)
    
  • 切片删除元素:

    var slice2 = []int{1, 2, 3, 4, 5, 6, 7, 8}
    slice2 = append(slice2[:3], slice2[4:]...)
    
  • 函数内部只能嵌套匿名函数

  • Golang的初始化顺序: 变量初始化 ----> init() ----> main()

  • 指针:

    • 取地址:&
    • 根据地址取值:*
    • 指针定义格式:var var_name *var-type
  • 当标识符(包括常量、变量、类型、函数名、结构字段等等)以一个大写字母开头,如:Group1,那么使用这种形式的标识符的对象就可以被外部包的代码所使用(客户端程序需要先导入这个包),这被称为导出(像面向对象语言中的 public);标识符如果以小写字母开头,则对包外是不可见的,但是他们在整个包的内部是可见并且可用的(像面向对象语言中的 protected )

  • := 用于声明变量

  • x<<n == x * (2^n)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值