go学习笔记1

作者: 时间: 2024-10-05 评论: 暂无评论

1.打印多维数组

var data= [3][2]string{}
fmt.Printf("%#v\n", data))
[3][2]string{[2]string{"", ""}, [2]string{"", ""}, [2]string{"", ""}}

2.字母转int strconv.Atoi() alphabetic to int
int转字母 strconv.Itoa() int to alphabetic

3.time 常用方法

time.Now().Unix() 获取时间戳 
time.Now().AddDate(years int, months int, days int) 增加时间
time.Now().Format("2006-01-02 15:04:05")  //格式化时间

4.以下返回值是一样的

func getX2X3(a int) (int, int) {
    return a * 2, a * 3
}
func getX2X32(a int) (a2 int, a3 int) {
    a2 = a * 2
    a3 = a * 3
    return
}

golang new

作者: 时间: 2023-02-01 评论: 暂无评论

在 golang 中 new 是另外一种创建变量的方式。通过 new(T) 可以创建 T 类型的变量(这里 T 表示类型),初始值为 T 类型的 零值返回值为其地址 (地址类型是 *T)。

package main

import "fmt"

func newInt1() *int {

return new(int)

}

func newInt2() *int {

var a int
return &a

}

func main() {

p := newInt1()
q := newInt2()
fmt.Println(p, q) // 0xc00001c0b8 0xc00001c0c0

}

go的切片

作者: 时间: 2022-05-29 评论: 暂无评论

1.看一段代码
func main() {

    s1 := [5]int{0, 1, 2, 3, 4}
    s2 := s1
    s2[0] = 999
    fmt.Println(s1)   //[0 1 2 3 4]

    s3 := []int{0, 1, 2, 3, 4}
    s4 := s3
    s4[0] = 999    //[999 1 2 3 4]   s3数组是值类型,s3 切片本身是个引用类型
    fmt.Println(s3)
}