golang 声明接口内联的语法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang 声明接口内联的语法相关的知识,希望对你有一定的参考价值。

func Milk(cow interface{Mooing; Grazing})

golang 赋值与声明语法糖使用注意事项

赋值与声明语法糖

基本用法略, 搜索即可

注意事项

类型推断

:= 会自动进行类型推断, 当想要的类型不是自己想要的类型时需要进行类型转换

// i1 默认是 int 类型
i1 := 1

// 当需要把 i2 当成 int64 来使用时需要进行类型转换再赋值
i2 := int64(1)

这里说到类型推断, 提一下 const 变量, 如果是 const 变量中定义的值会自动根据语境在编译期自动判断类型

同作用域已有变量不会重新创建新的变量

:= 左边的变量不一定全是新变量, 有可能是老变量, 只是被重新赋值了而已, 只要是同作用域内已有的变量, 不会创建新的变量

// 返回 1
func testFunc() (ret int) 
    ret, err := 1, error(nil)
    if err != nil 
        return
    
    return

作用域不同一定会创建新的变量

跟上面一点要区分开

// 返回 0, 返回值的 ret 并没有被赋值, 赋值的是 if 里面的 ret, 和外面的 ret 并不相关
func testFunc() (ret int) 
    if ret, err := 1, error(nil); err != nil 
        fmt.Println(ret)
        return
    
    return

以上是关于golang 声明接口内联的语法的主要内容,如果未能解决你的问题,请参考以下文章

java与golang语法比较

GOLANG 变量

如何在没有扩展内联 asm 的情况下在 gcc 内联汇编中声明和初始化局部变量?

golang 赋值与声明语法糖使用注意事项

Golang✔️走进 Go 语言✔️ 第二课 语法基础

[golang]语法基础之接口