GO基础:method相关

//  method相关

// method是特殊的function,带有reciever参数。

//  https://tour/golang.org package main



import (  "fmt"  "math" )

type Vertex struct{

X, Y float64

}

// go 中没有类的概念

// method 方法,有接受者参数的函数

func (v Vertex) AbsMethod1() float64 {

return math.Sqrt(v.X*v.X + v.Y*v.Y)

}

// function 普通的函数,

func AbsFunc1(v Vertex) float64{

return math.Sqrt(v.X*v.X + v.Y*v.Y) }

// 缩放 method, 有receiver

func (v *Vertex) ScaleMethod(f float64){

v.X = v.X * f  v.Y = v.Y * f }

// 缩放,function, 用了指针,这里指针更像引用

func ScaleFunc(v *Vertex, f float64){

v.X *= f  v.Y *= f }



func main(){

v := Vertex{3, 4}

fmt.Println("=====method Abs=", v.AbsMethod())

fmt.Println("=====function Abs = ", AbsFunc1(v))

v.ScaleMethod(10)  fmt.Println("vvvv===", v)

fmt.Println(v.AbsMethod())  ScaleFunc(&v, 2)

fmt.Println(v)

p := &v  p.AbsMethod1() //这里 p.AbsMethod1()解释为(*p).AbsMethod1()

}

时间: 2024-10-11 22:37:53

GO基础:method相关的相关文章

1.基础知识相关好帖(持续更新)

这一篇主要把在我查阅资料和学习的过程中搜到的,基础知识相关的比较好的文档整理汇总,主要是方便自己好找. 1..NET Framework.C#语言.IDE.CLR 版本历史及其差异(最新) .NET Framework版本(.NET Framework包括CTS和CLR) 2.IIS Application Pool 应用程序池

HTML入门基础教程相关知识

HTML入门基础教程 html是什么,什么是html通俗解答: html是hypertext markup language的缩写,即超文本标记语言.html是用于创建可从一个平台移植到另一平台的超文本文档的一种简单标记语言,经常用来创建web页面.html文件是带有格式标识符和超文本链接的内嵌代码的ascii 文本文件——html结构了解. html文本是由 html命令组成的描述性文本,html 命令可以说明文字. 图形.动画.声音.表格.链接等. html网页结构包括头部 (head).主

nginx基础及其相关配置

nginx基础 Nginx的基本架构 一个master主进程,生成一个或多个worker子进程 事件驱动 epoll(边缘触发),用于Linux kqueue:用于BSD /dev/poll: IO复用器:select.poll.rt signal 支持sendfile及sendfile64 支持AIO 支持mmap 名词解释: sendfile机制:正常响应报文路径"内核空间-->用户空间-->内核空间-->客户端",如果报文在用户空间不做任何改变时,路径不再经由用

Go基础:接口相关

//  interface相关 package main import (  "fmt"  "math" ) // 接口,定义了method // 该接口类型的值必须实现里面定义的method type Abser interface{  Abs() float64 } type MyFloat float64 type Vertex struct{  X, Y float64 } //  MyFloat实现Abs方法 func (f MyFloat) Abs()

详谈Linux文件系统基础和相关操作以及swap分区

一.基础概念 文件系统是一种管理存储设备上所存储的文件的一种内生性软件. 能与硬件的存储设备进行交互的只有内核.在操作系统还没有启动的时候,内核也没有启动,由于内核必须依靠文件系统才能启动.然而文件系统由存放于内核中,内核启动前文件系统不存在.这样环绕的问题,类似一个"鸡生蛋,蛋生鸡"的问题.其实,在操作系统启动时,MBR中的Bootloader会自动识别根文件系统(/),随之根文件系统中的内核便会启动,操作系统启动完成. 二.文件系统类型 虚拟文件系统(VFS):可以识别其他不同的文

IOS开发UI基础UITextFidle相关属性

UITextFidle相关属性 •    enablesReturnKeyAutomatically默认为No,如果设置为Yes,文本框中没有输入任何字符的话,右下角的返回按钮是disabled的. 1.borderStyle 设置边框样式,只有设置了才会显示边框样式   text.borderStyle = UITextBorderStyleRoundedRect; typedef enum {    UITextBorderStyleNone,     UITextBorderStyleLi

IOS开发UI基础UITextView相关属性

UITextView相关属性 •    text: 设置textView中文本_textView.text = @"Now is the time for all good developers to come to serve their country.\n\nNow is the time for all good developers to come to serve their country."; // 设置它显示的内容    •    font:设置textView中文字

oc总结 --oc基础语法相关知识

m是OC源文件扩展名,入口点也是main函数,第一个OC程序: #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { theme manager @autoreleasepool { NSLog(@"Hello, World!"); } return 0; } 预处理指令import会自动检验头文件有没有被包含过,防止重复包含,NSLOG是日志输出,OC字符串以@开头,自动换行

Python基础---进程相关基础

什么是进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位(是计算机分配资源的最小单位),是操作系统结构的基础.在早期面向进程设计的计算机结构中,进程是程序的基本执行实体:在当代面向线程设计的计算机结构中,进程是线程的容器. 狭义定义: 进程是正在运行的程序的实例(an instance of a computer program that is being executed) 广义定义: 进程是一个具有一定独立功能的程序关于某个数据集合