美文网首页
Go语言指针

Go语言指针

作者: 沫明 | 来源:发表于2019-12-23 16:18 被阅读0次

1.取地址操作符&和取值操作符是一对互补操作符,&取出地址,根据地址取出地址指向的值。

2.创建指针的另一种方法——new() 函数

new() 函数可以创建一个对应类型的指针,创建过程会分配内存,被创建的指针指向默认值。

3.%传参

%T 打印的类型
%p 打印的指针地址
%s 打印值

4.使用指针变量可以获取命令行的输入信息【参考于:http://c.biancheng.net/view/21.html

Go语言内置的 flag 包实现了对命令行参数的解析,flag 包使得开发命令行工具更为简单。

5.参考代码:

package main

import (
    "fmt"
)

// &取出地址,*根据地址取出地址指向的值
func main()  {
    test5()
}

func test1()  {
    var cat int=1
    var str string="banana"
    fmt.Println(&cat,*&str)    //0xc0000200f8 banana
    fmt.Printf("%p %p",&cat,&str)  //0xc0000200f8 0xc000010200
}
//0xc00009a010 banana
//0xc00009a010 0xc0000781e0

func test2()  {
    var house = "Malibu Point 10880, 90265"
    ptr :=&house

    // %T 打印ptr的类型
    fmt.Printf("ptr typr:%T \n",ptr)   //ptr typr:*string

    // %p 打印ptr的指针地址
    fmt.Printf("address:%p\n",ptr)     //address:0xc0000781e0

    // 对指针进行取值操作
    value := *ptr
    fmt.Printf("value type: %T\n", value)
    // %s 指针取值后就是指向变量的值
    fmt.Printf("value: %s\n", value)

}

// 交换函数
func swap(a, b *int) {
    // 取a指针的值, 赋给临时变量t
    t := *a
    // 取b指针的值, 赋给a指针指向的变量
    *a = *b
    // 将a指针的值赋给b指针指向的变量
    *b = t
}

func test4()  {
    a,b:=1,2
    b,a=a,b
    fmt.Println(a,b)
}


//创建指针的另一种方法——new() 函数
func test5(){
    str := new(string)  //new() 函数可以创建一个对应类型的指针,创建过程会分配内存,被创建的指针指向默认值
    *str = "Go语言教程"
    fmt.Println(str)
    fmt.Println(*str)
}

相关文章

  • go语言值传递与指针传递

    go语言指针 go语言作为静态编译型语言,具有指针类型,但是不提供对指针的移位危险操作,防止指针的越界等问题。 g...

  • Go语言-指针

    Go语言中的指针不同于C语言,Go语言的指针使用方法要简单很多。当然和C语言从指针定义到指针的使用都有很大的不同。...

  • Go语言 指针

    指针 概念 Go语言的指针和C语言一样也是用来保存地址的变量 格式 普通指针 指向数组的指针 注意点 GO语言中只...

  • go语言指针类型的使用

    go语言的指针类型 简单地说go语言的指针类型和C/C++的指针类型用法是一样的,除了出去安全性的考虑,go语言增...

  • Golang:关于寻址的一些问题

    Go 语言有点像 C 语言,它有指针,用 * 标识一个指针,用 & 标识一个地址,但 Go 语言的指针比较简单,没...

  • go 语言指针

    go 语言指针 go 语言的参数传递全部都是 值传递 用一个交换的例子学习指针

  • Golang 指针

    指针 区别于C/C++中的指针,Go语言中的指针不能进行偏移和运算,是安全指针。Go语言当中的指针涉及到三个点:指...

  • Go语言入门总结(六)-指针

    指针 1.&和* 在go语言中,也有指针的概念,不同于java。是没有指针的概念的。但是go语言的指针也并没有c中...

  • 13-Go语言指针和方法

    指针 普通数据类型指针 Go语言中的普通指针和C语言中的普通指针一样, 通过指针也可以间接操作指向的存储空间 Go...

  • Go语言基础之指针

    区别于C/C++中的指针,Go语言中的指针不能进行偏移和运算,是安全指针。 要搞明白Go语言中的指针需要先知道3个...

网友评论

      本文标题:Go语言指针

      本文链接:https://www.haomeiwen.com/subject/xeaznctx.html